我對Ruby很新,所以請在我身上輕鬆一下。我有這個不想執行交叉命令的小功能。如果我進入irb並輸入數組,則設置交點命令,如:third_array = array1 & array2,third_array返回通用元素。但是當我通過irb運行這個代碼片段時,它只是返回[]。有什麼建議麼?紅寶石陣列路口返回空白陣列
class String
define_method(:antigrams) do |word2|
array1 = []
array2 = []
array1.push(self.split(""))
array2.push(word2.split(""))
third_array = array1 & array2
third_array
end
end
當'def'完成這項工作時,在這裏不需要使用'define_method'。 'define_method'保留用於您事先不知道方法名稱,計算它或者以某種方式動態生成塊內部的情況。 – tadman
G McMahon,你是否在'def'之前引入了'define_method'(即'def antigrams(word2)')的課程?我問,因爲@tadman提到,在這裏使用'define_method'有點奇怪,但我可以看到教師可能認爲在'def'之前覆蓋'define_method'是有用的。 –
是的卡里,就是這樣。我已經看過'def',但並沒有真正使用過它。也許在我的第二週!? –