def sum(arr = [1,2,3,4,5])
addedUp = 0
i = 0
while i < arr.length
addedUP += arr[i]
end
return addedUp
end
目標は、引数として整数の配列を取り、その要素の合計を返すメソッド sum( arr) を定義することです。何らかの理由で私は取得し続けます
「main:Object の未定義のメソッド `sum'」
エラー。
i
ruby では大文字と小文字が区別され、@grandinero が述べたように、変数をインクリメントする必要があります
def sum(arr = [1,2,3,4,5])
addedUp = 0
i = 0
while i < arr.length
addedUp += arr[i] #you had addedUP; this was the undefined method error
i += 1 #infinite loop without this
end
return addedUp
end
配列を合計するルビー風の方法が他にもあります
def sum(*arr)
return arr.flatten.inject(0, :+)
end
puts sum(1,2,3,4,5) #=> 15
puts sum([1,2,3,4,5]) #=> 15