1
我试图缩短我的Ruby代码。Ruby:实例化块中的新变量
def count_palindromes_in_an(array)
palindromes = 0
array.each { |word| palindromes += 1 if word == word.reverse }
return palindromes
end
因此回文在每个方法执行的块内被实例化。某事沿着;
def count_palindromes_in_an(array)
array.each { |word| (palindromes != nil ? palindromes += 1 : palindromes = 1) if word == word.reverse }
return palindromes
end
但是,这会返回一个错误undefined method 'palindromes'
。任何提示感激地收到。
大answear,但我不认为猴子修补是一个好主意。 – hakcho 2015-02-09 09:12:00
好的解释,Stefan!但我觉得我的回答有助于OP更好地实现他想要的。 – Humza 2015-02-09 09:12:25
@Humza我会说不。 'count'更具惯用性,使代码更短。然而,是的,最后一个解决猴子补丁的核心类的解决方案看起来不太好,但我们假设OP将会阅读这些内容并予以警告。 – 2015-02-09 09:14:57