Я не отбросил бы C++. На самом деле я рассмотрел бы добавляющее Повышение Вашей библиотеки C++, которая делает язык намного более применимым. Ваш пример стал бы:
BOOST_FOREACH( Thingy& t, lostOfThingys ) {
// do something with 't'
}
Повышение имеет тонны инструментов, что справка делает C++ лучшим языком.
require 'rubygems'
require 'sinatra'
set :my_variable, "world"
get '/' do
"Hello " + settings.my_variable
end
Еще один способ:
require 'rubygems'
require 'sinatra'
@my_variable="world"
get '/' do
"Hello " + @my_variable
end
Я бы установил переменную класса - например, @@my_variable
- внутри конфигурационного блока. Блок конфигурации существует для кода, который вы хотите запустить при старте, поэтому настройка вашей переменной имеет смысл. Ваше приложение Sinatra является подклассом Sinatra::Base
, поэтому использование переменной класса в данной ситуации представляется целесообразным.