0
有誰知道是什麼原因導致了這個錯誤?我正在嘗試製作基本的機架應用程序。Instance_eval塊未提供?
App.rb =>
class Cherry
class << self
def app &block
Cherry::Application.new &block
end
end
class Application
def initialize &block
instance_eval &block
end
def print_start_message
puts "Starting server"
end
def call env
[200, {"Content-type" => "text/plain"}, "Hello World"]
end
end
end
Config.ru =>
require 'app'
run Cherry.app do
print_start_message
end
編輯:顯然,我忘了,包括錯誤woops:
/local/www/cherry/lib/app.rb:12:in 'instance_eval': block not supplied (ArgumentError)
這是[紅寶石塊語法錯誤(http://StackOverflow.Com/q/6854283/),[代碼塊中傳遞重複,以'each'作品用括號括起來,但不用'do' -'end'(ruby)](http://StackOverflow.Com/q/6718340/),[塊定義 - 大括號和''''''end'之間的區別?](http ://StackOverflow.Com/q/6179442/),[沒有'do''end的Ruby多行塊]](http://StackOverflow.Com/q/3680097/),[使用'do'塊vs括號'{ } [](http://StackOverflow.Com/q/2122380/),[Ruby中這些塊編碼風格的區別或價值是什麼?](http://StackOverflow.Com/q/533008/),... –
... [Ruby block and unparenthesized arguments](http://StackOverflow.Com/q/420147/),[爲什麼'do' /'end'和'{}'總是等價的?](ht tp://StackOverflow.Com/q/7487664/),[Ruby塊中的Wierd不完美](http://StackOverflow.Com/q/7620804/)和[將塊傳入方法 - Ruby](http:///StackOverflow.Com/q/10909496/)。 –