JavaScriptのバックグラウンドから来て、JavaScriptの動的スコープを使用して関数に値をカプセル化できるようになりました。例えば:
function Dog( firstname, lastname ) {
this.fullname = firstname + lastname
return {
say_name: function () {
return fullname;
}
}
}
今Rubyでは、このようなものがうまく機能するかどうかはわかりません。
class Foo
attr_accessor :bar, :baz
def initialize bar, baz
@bar = bar
@baz = baz
end
def give_me_a_proc
return Proc.new { @bar + @baz }
end
end
誰かがRubyでスコープがどのように機能するかについて簡単に説明できますか?から返されたProcを呼び出した場合give_me_a_proc
でも、定義時スコープにアクセスできますか?
また、procを定義すると値は固定Foo
されますか、それとも定義された後でもProcに加えられた変更はProcに引き継がれますか?