Ruby 你能在than语句中使用'include?'吗?

Ruby 你能在than语句中使用'include?'吗?,ruby,Ruby,我试图找出一个字符串是否包含两个以上的某个符号。比如说, is_valid_email("joey@g@mail.com") 如果有两个以上的“@”或”,则应返回false。我可以用这样的东西吗 if string.include?("@") > 2 return false else return true end 你可以用。另外,只返回true或false的if语句也没有多大意义;布尔条件本身已经是true或false,因此您可以直接返回它。在这种情况下,由于if部分返回f

我试图找出一个字符串是否包含两个以上的某个符号。比如说,

is_valid_email("joey@g@mail.com")
如果有两个以上的
“@”
,则应返回
false
。我可以用这样的东西吗

if string.include?("@") > 2
  return false
else
  return true
end
你可以用。另外,只返回
true
false
if
语句也没有多大意义;布尔条件本身已经是
true
false
,因此您可以直接返回它。在这种情况下,由于
if
部分返回
false
,而
else
部分返回
true
,因此您可以否定该条件:

return !(string.count('@') >= 2)
return string.count('@') < 2
或者使用相反的条件:

return !(string.count('@') >= 2)
return string.count('@') < 2
只要在方法体中检查后没有其他代码,就可以关闭
return
关键字;方法自动返回其最后一个表达式的值。

您可以使用。另外,只返回
true
false
if
语句也没有多大意义;布尔条件本身已经是
true
false
,因此您可以直接返回它。在这种情况下,由于
if
部分返回
false
,而
else
部分返回
true
,因此您可以否定该条件:

return !(string.count('@') >= 2)
return string.count('@') < 2
或者使用相反的条件:

return !(string.count('@') >= 2)
return string.count('@') < 2

只要在方法体中检查后没有其他代码,就可以关闭
return
关键字;方法自动返回其最后一个表达式的值。

字符串包含什么?返回什么?如果不是数字,那么不,你不能这样做。不过,还有其他方法。如前所述,您可以使用
count
来解决眼前的问题。但实际上,您需要更健壮的电子邮件验证。事情并不是那么简单。你必须使用正则表达式。我知道,这只是我正在处理的一个示例,我想看看是否有办法检查字符串中相同类型的字符。顺便说一句,你的示例地址
joey@g@mail.com
包含的符号不超过2个,它只包含2个。您可能希望
>=2
。关于
——电子邮件地址有几个点是很好的,例如
乔伊。doe@mail.example.com
对于测试电子邮件地址,您可能需要一个松散的RFC822样式的验证器。
String>包括什么?
返回?如果不是数字,那么不,你不能这样做。不过,还有其他方法。如前所述,您可以使用
count
来解决眼前的问题。但实际上,您需要更健壮的电子邮件验证。事情并不是那么简单。你必须使用正则表达式。我知道,这只是我正在处理的一个示例,我想看看是否有办法检查字符串中相同类型的字符。顺便说一句,你的示例地址
joey@g@mail.com
包含的符号不超过2个,它只包含2个。您可能希望
>=2
。关于
——电子邮件地址有几个点是很好的,例如
乔伊。doe@mail.example.com
对于测试电子邮件地址,您可能需要一个松散的RFC822样式的验证器。