arrays - 在 "if"语句中从数组中选择单个元素

标签 arrays ruby if-statement include

创建一个接收用户输入的方法——如果所述输入包含来自预定数组的任何单词,它会打印单词“success!”否则,如果输入不包含该数组中的单词,它会打印单词“failure”。

我的理想是创建一个场景,在该场景中,我可以用任意多的元素填充数组,并且在决定如何对用户输入使用react时,该方法将始终引用该数组。

但是,当我运行它时,我收到一条错误消息,提示“没有将数组隐式转换为字符串。”

我的代码如下。感谢任何帮助!谢谢。

            def hello
            word_bank = ["hello", "hi", "howdy"]
            print "Say a word: "
            greeting = $stdin.gets.chomp.to_s

            if greeting.include?(word_bank[0..2])
               puts "success!"
              else
                puts "failure."
              end

            end

            hello

最佳答案

include? 是数组的方法。

word_bank = ["hello", "hi", "howdy"]
print "Say a word: "
greeting = gets.chomp

if word_bank.include?(greeting)
  puts "success!"
else
  puts "failure."
end

puts [1,2,3].include?(1) # true
puts [1,2,3].include?(4) # false

如果 word_bank 很大,出于性能原因,我们应该使用集合而不是数组。

require 'set'

word_bank = Set.new(["hello", "hi", "howdy"])

关于arrays - 在 "if"语句中从数组中选择单个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39984224/

相关文章:

php - 如何按值删除重复的数组元素并保留最新条目?

c - 数组指针和二维数组表示

ruby - 我如何开始在 Emacs 中使用 Xiki?

ruby-on-rails - ruby /rails : How can I display a number in scientific notation?

C# Setter 和 if 语句

java - 如何在 Java 中分配对象数组?

arrays - 如何获取在 Canvas 中构成圆圈的坐标数组?

ruby - 我可以在传递给方法的 block 上强制执行元数吗?

MySQL 选择一个字段,比较并更改另一字段

c - 我如何使用 "if statement "的返回值在其他计算中使用它?