2012-03-16 46 views
2

我試圖製作一個像%w這樣的方法(或符號?),但ruby並不滿意方法的名稱,並且一直給出錯誤。我試圖搜索一下,但沒有發現任何令人興奮的事情。如何在Ruby中創建百分比方法,如%w或%x?

任何想法如何做到這一點?

例如,

def %f(&block) 
    puts "foo" 
end 
+1

你爲什麼要這樣做? – 2012-03-16 12:39:04

+1

爲了好玩。 :)擴展語言 – texasbruce 2012-03-16 17:11:55

回答

3

那些不是方法,那些是字面語法。 做的允許創建新文字的語言很少,但Ruby不是其中之一。像大多數語言一樣,語法是固定的。

4

你不能做到這一點。這些快捷方式是該語言的一部分。

2

爲了做到這一點,您必須編輯Ruby本身,至少對於Ruby 1.9(基於C的Ruby 1.9的實現)YARV Ruby來說。

parse.y famtour幻燈片63到76給出了一個編輯Ruby本身來創建另一個百分比方法的人的例子。對於工作情況不太實際!

+0

謝謝!這非常有用! – texasbruce 2012-03-19 12:37:59