-1
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'」

エラー。

4

2 に答える 2

1

iruby では大文字と小文字が区別され、@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
于 2013-09-11T23:33:58.653 に答える