创建一个接收用户输入的方法——如果所述输入包含来自预定数组的任何单词,它会打印单词“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/