、言葉「スタック」、私はのような配列を取得したい:私はそのようなコードでこれをしなかったRubyで文字列を分割してすべての部分文字列を取得する最も良い方法は何ですか?
['s', 'st', 'sta', ... 'stack', 't', 'ta', ... , 'c', 'ck', 'k']
:
def split_word(str)
result = []
chas = str.split("")
len = chas.size
(0..len-1).each do |i|
(i..len-1).each do |j|
result.push(chas[i..j].join)
end
end
result.uniq
end
がそれを行うには良いとクリーンな方法は何ですか?ありがとう。
重複があってもなくてもかまいませんか? –
重複なし、ありがとう! –
一般的なアドバイス:「init empty + iterate + push + return」のパターンに従う代わりにmap(functional)を使うのが便利です。 – tokland