2017-10-06 14 views
-4

今日、私は正しい解決策を与えられました。私はIRBでそれを美しく走らせ、それは完全に解釈します。しかし、そのコードをideに貼り付けてからコンソールからプログラムを呼び出すと、実行されても何も表示されません。私がブールコードの直前に何かを見るためにputsを追加すると、私は本当のfalseなどのリストを表示しますが、IRB intepreterのようなものは何もありません。実際には他の配列のフレーズに含まれる単語を1つの配列に与えます。ruby​​ IRB対IDEのコードなぜIRBが結果をもたらし、IDE doesnt?

これは、私が天国の名前でどのように機能しているのか心に浮き沈みがあることを明らかに示しています。 IDEが何も解釈しなかったかのように、私はKomodoからRubymineをインストールし、IDEが動作するRubyインタプリタをインストールしました。変わりはない。

私はTutorialspointにコードをコピーして貼り付けて、実際に何が起こったかを示すこのパーマリンクを得ました。誰もが、私はIDEはちょうどIRBが

http://tpcg.io/HYfIrX

コードをして何を得るために行うべきかを教えてもらえますとにかく

words = ["house", "dog", "cat", "man", "girl"] 
phrases = ["I have a house", "I am a dog", "I am man"] 

words.select { |word| phrases.any? { |phrase| phrase.include? word } } 

これはそれで結構ですWHAT IRBに示されている。このですそして、それは私が

[email protected]:~/rubyprograms# irb 
irb(main):001:0> words = ["house", "dog", "cat", "man", "girl"] 
=> ["house", "dog", "cat", "man", "girl"] 
irb(main):002:0> phrases = ["I have a house", "I am a dog", "I am man"] 
=> ["I have a house", "I am a dog", "I am man"] 
irb(main):003:0> 
irb(main):004:0* words.select { |word| phrases.any? { |phrase| phrase.include? word } } 
=> ["house", "dog", "man"] 

をしたいが、あなたは、私が何かを見るために追加「PUTS」以外(同じコードを実行すると、」それがすべてで、私が欲しいものBRINGしかしARれないものですBOOLEAN OF OSTERは

http://tpcg.io/HYfIrX

+1

大文字で完全に書いてください。それは読みにくく、英語の仕方ではなく、一般的には非常に失礼だと解釈されます。 – meagar

+0

IRBは各式の結果を表示しますが、コードは**何も出力しません**。出力を見たい場合は、コードを生成した結果を画面に 'puts 'して何かをする必要があります。 – meagar

答えて

1

をVALUESあなたのコード内のリンクは

words.select { |word| puts phrases.any? { |phrase| phrase.include? word } } 

あなたの質問に記載された正しいコード(働くがある)

words.select { |word| phrases.any? { |phrase| phrase.include? word } } 

スポットの違いです。 )

+0

いいえ、いいえ、私はいくつかの結果を見るために行ったputsを追加したことを知っています。チュートリアルのコードをアクティブにしているリンクに行くと、結果が表示されないことがわかります。http://tpcg.io/HYfIrXリンクを信頼していない場合、最終的に教えてくれるツールがオンラインにあります。リンク。これは、今日は一般的ですが、あなた自身がputsを削除し、何も表示されないことがわかりますように、短いhrefです。それは実際に私の質問です、なぜですか? – Arminius

+1

@Arminiusは 'p words.select {word |フレーズ。何ですか? {|フレーズ| phrase.include?単語}} '。あなたがそれを指示しない限り、Rubyは戻り値を出力しません。この場合、 'p'を使用して配列を出力してください。 IRBはデフォルトで自動的に戻り値を出力します。 ' –

関連する問題