我想知道除了运行两次之外,重构此代码以提高效率的正确方法是什么。
class Hamming
def compute (a, b)
a.to_a.split("")
b.to_a.split("")
end
end
有什么类似于一次分配两个变量的东西a, b = 1, 2
吗?
由于代码没有意义,我想您要问的是如何避免重复自己的代码。
很简单,编写另一个方法并调用它。这是一个想找出哪个短语更长的示例,但是您想忽略很多空格。所以foo bar
不长于12345678
。
def longer_phrase(phraseA, phraseB)
normalizedA = normalize(phraseA)
normalizedB = normalize(phraseB)
return normalizedA.length > normalizedB.length ? phraseA : phraseB
end
def normalize(phrase)
normalized = phrase.gsub(/\s+/, ' ');
normalized.strip!
return normalized
end
puts longer_phrase("foo bar ", "12345678")
在进行数据处理之前,需要对所有数据进行规范化处理。这样可以避免重复自己。由于我们知道所有工作的目的是标准化字符串,因此它使您的代码更易于理解。并且它为您提供了可在其他地方使用的归一化功能,因此您可以以相同的方式对数据进行归一化。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句