w = Gtk::window.new
w do
title = "foo"
resizable = false
foo = bar
end
self
ブロックに渡した後、ブロック内のすべてのメソッドを呼び出したい。
-ありがとう。
w = Gtk::window.new
w do
title = "foo"
resizable = false
foo = bar
end
self
ブロックに渡した後、ブロック内のすべてのメソッドを呼び出したい。
-ありがとう。
それを行う 1 つの方法は、次のような#instance_evalの使用であると考えています。
a = 'asd'
a.instance_eval do
a.upcase!
end
a # => ASD
ブロック内のオブジェクトを取得する別の方法は#tapを使用することですが、self はありません:
gkt_window = Gtk::window.new
gtk_window.tap do |w|
w.title = 'foo'
w.resizable = false
w.foo = bar
end # Now gtk_window will have all properties set and you can chain methods to this block
使用できますBasicObject#instance_eval
:
w.instance_eval do
title = 'foo'
resizable = false
foo = bar
end