2017-01-06 5 views
0

私は最近、Rubyプログラミング言語の学習を始め、いくつかの基本コードを書くときに奇妙な動作に遭遇しました。 Ruby-2.3.3-p222 SDKを使用してRubyMineで自分のコードをコンパイルしようとすると、私が下に書いたコードは "repl.it"のようなRubyコードを実行できるウェブサイトでコンパイルするとうまくいきます。またはCMDを介して、私のコードは出力されません。コードは数字「10」を出力するはずですが、「終了コード0」で終了することを除いて、何も出力しません。私は何が間違っているか不足していますか?Ruby - 方法がありませんか?

numbers = [1, 2, 3, 4] 
numbers.map {|num| num*num} 
numbers.select {|num| num%2==0} 
numbers.inject do |sum, num| 
    sum + num 
end 

答えて

1

何も出力していないため出力がありません。 REPLには、最後に実行されたコマンドの値が表示される、素晴らしい副作用があります。これはあなたがrepl.itで見たものです。あなたが結果印刷する必要が予想される出力を取得するには:

numbers = [1, 2, 3, 4] 
numbers.map {|num| num*num} 
numbers.select {|num| num%2==0} 
result = numbers.inject do |sum, num| 
    sum + num 
end 
p result 
+0

ノート 'numbers.select'前に' p'を、@MihkelPajunen –

+0

は、あなたの答えをいただき、ありがとうございます。私は出力ではなく最後の値を見ているとは決して考えませんでした。 – MihkelPajunen

関連する問題