【发布时间】:2017-10-06 16:41:03
【问题描述】:
今天我得到了一个正确的解决方案。我在 IRB 中很好地运行了它,它完美地解释了它。但是,如果我将该代码粘贴到 ide 中,然后我从控制台调用该程序,它不会显示任何内容,尽管它运行。如果我在布尔代码之前添加一个 puts 来查看某些内容,它会列出我的真假等,但没有像 IRB 解释器那样,它实际上给出了一个数组中包含在另一个数组的短语中的单词。
这显然是在说,我对这到底是如何运作的一无所知。好像 IDE 没有解释任何东西,所以我从 Komodo 安装了 Rubymine 并安装了 IDE 可以使用的 ruby 解释器。没有区别。
我已经复制并粘贴了教程点中的代码,并获得了这个永久链接,它可以实时显示发生了什么。谁能告诉我我应该怎么做才能让 IDE 做 IRB 做的事情
代码是这样的
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 } }
这就是 IRB 中显示的内容,这很好,这就是我想要的内容
root@kali:~/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"]
但是,如果您运行相同的代码(除了我添加的“看跌期权”以查看某些东西),它根本不会带来我想要的,而是布尔值的花名册
【问题讨论】:
-
请不要全部用大写字母,这非常难读,不是英语是如何工作的,通常被解释为非常粗鲁。
-
IRB 向您显示每个表达式的结果,而您的代码不会输出任何内容。如果你想看到输出,你需要对你的代码生成的结果做一些事情,比如
puts它到屏幕上。