下面的代码获取一些文本,找到逗号,并返回一个没有逗号的分割版本的数组。重构难看的红宝石代码
class A
def separate_comma_values(text)
txt_len = text.length
if txt_len == 0
return [""]
end
final = []
sub_arry = ""
for i in (0...txt_len)
ch = text[i]
if ch == ","
final << sub_arry
final << ""
sub = ""
else
sub_arry += ch
end
end
return final
end
end
这是一个示例输入和输出:
s = A.new
print s.separate_comma_values("dh,,,dhhd,jhb")
# => ["dh", "", "dh", "", "dh", "", "dhdhhd", ""]
虽然它做什么,我想要它做的,我觉得有一些东西只是不正确了。这只是肮脏。
我知道我可以使用由ruby提供的内置方法来实现分割。
编辑:我想这是编辑出我原来的帖子。这背后的动机是应用我阅读红宝书后发现的知识。
你可以通过固定错位的空白,其中有人只是为你所做的开始。也不要缩写变量名称。 – 2013-04-10 04:54:43