Istnieje wspólny idiom korzystania podstawienia jak:#with (object) i blok trik
def with clazz, &block
yield clazz
clazz
end
with Hash.new |hash|
hash.merge!{:a => 1}
end
Czy istnieje sposób, aby iść dalej i definiować #with mieć możliwość robi:
with Hash.new |hash|
merge!{:a => 1}
end
lub nawet:
with Hash.new do
merge!{:a => 1}
end
?
UPDATE
Później przypadkowo znalazłem dokładnie to, czego szukałem (rozwiązanie podobne do przyjętego jeden): http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/19153
UPDATE 2
Został on dodany do cukru-wysoki/dsl w https://github.com/kristianmandrup/sugar-high
UPDATE 3
docille project on Github wykorzystuje ten pomysł bardzo ładnie.
co? Możesz wybrać zmienną bloku tak krótką, jak chcesz. Co byś zaoszczędził? A tak przy okazji, przegapiłeś 'do'. –
Skup się na pytaniu, proszę! Czy to w końcu możliwe? –
"Istnieje wspólny język używania podstawień takich jak" - '[potrzebne źródło]'. –