嗨,我目前正在查看 ruby 测验解决方案 (http://rubyquiz.com/quiz76.html),这对我来说很有意义,但我无法理解为什么没有self
或任何类型的接收器用于shift, pop, scramble
中的方法munge_word
:
class Array
def munge_each
map { |word| word.split(//).munge_word }
end
def munge_word
first, last, middle = shift, pop, scramble
"#{first}#{middle}#{last}"
end
def scramble
sort_by{rand}
end
end
是不是因为它打开了 Array 类并给它添加了函数?这些方法是类方法吗?我认为 of 的语法var1, var2 = var3, var4
只是为了简洁的多个变量赋值。我从来没有见过用一方面的方法来完成它。有人可以解释吗?