ルビーに問題がある
これが私がやろうとしていることです
def iterate1 #define method in given class
@var3 = @var2.split(" ") #split string to array
@var4 = @var3
@var4.each do |i| #for each array item do i
ra = []
i.each_char {|d| ra << counter1(d)} # for each char in i, apply def counter1
@sum = ra.inject(:+)
@sum2 = @sum.inject(:+) #have to do the inject twice to get values
end
@sum2
私はこれを複雑にしすぎていることを知っています
基本的に、入力は「14556 この単語 398」のような文字と値の文字列です。
(" ") のような空白で区切られた各値の数値を合計しようとしています。
def iterate1 メソッドを使用すると、ブロックは counter1 メソッドを正常に呼び出しますが、文字列の最後の単語または値の値しか取得できません。
この場合は 398 で、合計すると 27 になります。
ブレークを含めると、最初の値である 21 が得られます。
すべての合計値を含む配列を出力しようとしています
どんな助けでも大歓迎です