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样式的验证器。