如何检查数组是否包含X或Y.

时间:2016-06-14 12:28:23

标签: ruby

我的任务是检查用户的给定输入是否包含字母"c""s"。我管理的只是一个,但我根本不知道写这个的正确方法。

我知道问题是"s" || "c"

print 'What can we do for you?'
user_input = gets.chomp
user_input.downcase!

if user_input.empty?
  puts 'Well you will have to write something...!'
elsif user_input.include? 's' || 'c'
  puts "We got ourselves some 's's and some 'c's"
  user_input.gsub!(/s/, 'th')
  user_input.tr!('c', 's')
  puts "The Daffy version, #{user_input}!"
else
  print "Nope, no 's' or 'c' found"
end

5 个答案:

答案 0 :(得分:2)

简单

elsif user_input.include?("s") || user_input.include?("c")

或类似

%w(s c).any? { |command| user_input.include? command }

答案 1 :(得分:2)

这是正则表达式正常的完美示例:

user_input =~ /[sc]/

答案 2 :(得分:1)

或:

(user_input.split('') & %w(s c)).any?

答案 3 :(得分:0)

您可以使用Regexp

user_input[/s|c/]

答案 4 :(得分:0)

没有正则表达式:

user_input.count('sc') > 0