Предыдущий ответ неверен, и в стандарте очень ясно, как обрабатывается конструктор массива. См. В Fortran 2008 C4103.
Все элементы в конструкторе массива формы вопроса должны быть одного и того же типа объявленного типа и такого же типа. Компилятор здесь жалуется, потому что это ограничение было нарушено путем смешивания реального выражения с этими целыми выражениями.
Просто сделать первый элемент элементом реальной / двойной точности недостаточно. Возможно, компилятор использует сообщение об ошибке «конструктор массива integer(4)
« как короткая рука для », первый элемент - integer(4)
, но не все остальные элементы:«.
Чтобы решить эту проблему, форма конструктора массива, вы должны сделать все элементы одного типа / типа (вероятно, реальную / двойную точность).
Как указано (правильно) в этом другом ответе, существует другая форма для конструкторов массива:
[ real ::0,8,0,4,26,8,0,17.5,0,0,0,17.5 ... ]
, который преобразует все элементы в указанный тип. Вы даже можете использовать эту форму для создания массива с нулевым размером:
[ real :: ]
Должно быть так же просто, как ruby your_app_name.rb
. На самом деле, это показано на домашней странице Синатры (внизу).
Должно быть достаточно просто.
Учитывая my_app.rb:
require 'rubygems'
require 'sinatra'
get '/hi' do
"Hello World!"
end
И my_app_test.rb:
require 'my_app'
require 'test/unit'
require 'rack/test'
set :environment, :test
class MyAppTest < Test::Unit::TestCase
include Rack::Test::Methods
def app
Sinatra::Application
end
def test_hi_returns_hello_world
get '/hi'
assert last_response.ok?
assert_equal 'Hello World!', last_response.body
end
end
Вы должны убедиться, что у вас установлены правильные драгоценные камни:
gem install sinatra rake rack-test
Теперь вы можете запустить ваше приложение и провести такие тесты:
ruby my_app.rb
ruby my_app_test.rb