我怎樣才能創建一個包裝能產生到使用$1變量塊的方法的別名方法在塊變量? 更具體地說,我想猴補丁String#sub(是的,我知道這是不是一個好的做法)來修改傳遞給它的正則表達式在使用之前。 我試過下面的代碼沒有成功。 class String
alias :sub_orig :sub
def sub(*args, &block)
# do stuff with ar
我想覆蓋的方法這樣可枚舉模塊: (注意,這是一個簡單的例子)。 理論上,當我撥打collect或map時,Ruby應該使用我的重寫版本,對不對?但事實並非如此。它始終使用內置的Enumerable方法。是否因爲collect實際上是enum_collect並且符合來源? [1,2,3].map(&:to_s) # never prints anything
是的,我知道,猴子,修補是壞的