Instance_eval Block nicht geliefert? [Duplikat
Diese Frage hat hier bereits eine Antwort:
Code-Block, der an jeden übergeben wird, funktioniert mit Klammern, aber nicht mit 'do' - 'end' (ruby) 3 AntwortenWeiß jemand, was diesen Fehler verursacht? Ich versuche, eine einfache Rack-Anwendung zu erstellen.
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
EDIT: Anscheinend habe ich vergessen, die Fehler zu erwähnen:
/local/www/cherry/lib/app.rb:12:in 'instance_eval': block not supplied (ArgumentError)