我試圖製作一個像%w這樣的方法(或符號?),但ruby並不滿意方法的名稱,並且一直給出錯誤。我試圖搜索一下,但沒有發現任何令人興奮的事情。如何在Ruby中創建百分比方法,如%w或%x?
任何想法如何做到這一點?
例如,
def %f(&block)
puts "foo"
end
我試圖製作一個像%w這樣的方法(或符號?),但ruby並不滿意方法的名稱,並且一直給出錯誤。我試圖搜索一下,但沒有發現任何令人興奮的事情。如何在Ruby中創建百分比方法,如%w或%x?
任何想法如何做到這一點?
例如,
def %f(&block)
puts "foo"
end
那些不是方法,那些是字面語法。 做的允許創建新文字的語言很少,但Ruby不是其中之一。像大多數語言一樣,語法是固定的。
你不能做到這一點。這些快捷方式是該語言的一部分。
爲了做到這一點,您必須編輯Ruby本身,至少對於Ruby 1.9(基於C的Ruby 1.9的實現)YARV Ruby來說。
parse.y famtour幻燈片63到76給出了一個編輯Ruby本身來創建另一個百分比方法的人的例子。對於工作情況不太實際!
謝謝!這非常有用! – texasbruce 2012-03-19 12:37:59
你爲什麼要這樣做? – 2012-03-16 12:39:04
爲了好玩。 :)擴展語言 – texasbruce 2012-03-16 17:11:55