我有一个字符串
x = "student"
如何检查" x"匹配我所拥有的名称列表中的任何项目。这些名字是一个固定的名单。
names = ["teacher",
"parent",
"son",
"daughter",
"friend",
"classmate",
"principal",
"vice-principal",
"student",
"graduate"]
我尝试将名称设置为列表并使用任何名称?检查列表,但似乎只适用于数组,我有一个字符串。
我正在使用Ruby 2.2.1如果项目在列表中,我只需要它返回true或false
答案 0 :(得分:3)
names.include?(your_string)
如果字符串在数组中,它将返回true
答案 1 :(得分:1)
你可以使用include吗?数组上的方法如下:
if names.include? x do
# x is an element in the list
end
答案 2 :(得分:1)
您还可以使用grep查找字符串是否存在于数组中
names = ["teacher",
"parent",
"son",
"daughter",
"friend",
"classmate",
"principal",
"vice-principal",
"student",
"graduate"]
names.grep(/^daughter$/)
答案 3 :(得分:0)
如果您的names
数组包含多个x
个实例,该怎么办?然后假设您不在布尔值之后,可以使用Enumerable#count
我们传递代码块中所需的条件。在您的示例中,我们将:
names.count{ |i| i == x } #=> 1
另一个例子:
x = "student"
names = ["student", "cleaner", "student"]
names.count{ |i| i == x } #=> 2
答案 4 :(得分:0)
以下是另一种方法:
if not (names & [x]).empty?
puts "'#{x}' is present in names"
end