2016-08-13 7 views
-1

コードワードでコードKatasを実行していました。私はそれらをコンピュータ上で実行できるかどうかを見たいと思っていました。しかし、私はさまざまな方法を考え出すことができますが、Rubyでコマンドプロンプトを使用してそれらを実行することはできません。例えば。アレイ上で実行するメソッドを取得する方法

def sum_array(arr)  
    if arr.kind_of?(Array) and arr.length > 2  
    arr.inject(:+) - arr.min - arr.max 
    else   
    0 
    end 
end 

puts sum_array = [1, 2, 3, 4] 

5を返す代わりに、変更されていない配列が返されます。

アレイ上でメソッドを動作させる正しい方法は何ですか?

+1

'='最後の行では必要ありません。確かに; –

+0

;実際には 'sum_array'メソッドを呼び出すのではなく、' [1、2、3、4] 'を変数' sum_array'に代入します。 –

答えて

1

=を「取得」としてください。

sum_array = [1, 2, 3, 4]を書き込むことによって、あなたはそれがputs

4、3、2、1アウト行い、引数として [1, 2, 3, 4]でそのメソッドを呼び出すには理由である、 sum_array[1, 2, 3, 4]を割り当てる代わりに、それを呼び出しています:

puts sum_array([1, 2, 3, 4]) 

または

puts sum_array [1, 2, 3, 4] 
関連する問題