5
エラー「の引数の数が間違っ」を持って現在のコンテキストを渡すためにinstance_evalを(&ラムダ)を呼び出すときに - このコードは完全に実行されている - code with proc明確にするため
代わりにあれば、私はラムダにProc.newを変更、私はエラー
ArgumentError: wrong number of arguments (1 for 0)
を取得することはinstance_evalををPARAMとして自己を渡したいためであること、そして方法としてラムダ扱いと未知のparamsを受け入れないことはできますか?
二つの例がある - 最初に取り組んでいる:
class Rule
def get_rule
Proc.new { puts name }
end
end
class Person
attr_accessor :name
def init_rule
@name = "ruby"
instance_eval(&Rule.new.get_rule)
end
end
は、第二ではありません:あなたは、あなたの前提で、実際に正しい
class Rule
def get_rule
lambda { puts name }
end
end
class Person
attr_accessor :name
def init_rule
@name = "ruby"
instance_eval(&Rule.new.get_rule)
end
end
おかげ
'p.init_rule'ではなく' p.get_rule'ですか? – artificis