Ruby – 在一行上使用多个条件

Ruby – 在一行上使用多个条件,第1张

概述所以,我遇到了这个问题,我希望在例程继续之前检查三个条件,但它不断抛出语法错误,说它不期望多个条件.现在,我知道我见过其他人使用如下行: if x > 100 && x % 2 == 1 #Do somethingend 但是,无论出于何种原因,这条线: if (letters.eql? letters.upcase && dash.eql? '-' && numbers.to_i.to 所以,我遇到了这个问题,我希望在例程继续之前检查三个条件,但它不断抛出语法错误,说它不期望多个条件.现在,我知道我见过其他人使用如下行:

if x > 100 && x % 2 == 1    #Do somethingend

但是,无论出于何种原因,这条线:

if (letters.eql? letters.upcase && dash.eql? '-' && numbers.to_i.to_s.eql? numbers)

惹错了很多错误.这与“.eql”有关吗?还是我还没有遇到过与Ruby无关的东西?

以下是其余代码供参考:

print "Enter license plate: ";input = gets.strip;if input.length == 8    letters = input[0,2];    dash = input[3];    numbers = input[4,7];    if (letters.eql? letters.upcase && dash.eql? '-' && numbers.to_i.to_s.eql? numbers)        puts "#{input} is a valID license plate."    else        print "All valID license plates are three (3) uppercase letters,followed by a dash (-),followed by four (4) digits";    endelse    print "All valID license plates are 8 characters long.";end

另外,这些是错误:

licensePlate.rb:7: Syntax error,unexpected tSTRING_BEG,expecting ')'...? letters.upcase && dash.eql? '-' && numbers.to_i.to_s.eql? ......                               ^licensePlate.rb:7: Syntax error,unexpected tIDENTIFIER,expecting ')'... numbers.to_i.to_s.eql? numbers)...
解决方法 这应该这样做:

如果letters.eql?(letters.upcase)&& dash.eql?(‘ – ‘)&& numbers.to_i.to_s.eql?(数字)

如果您愿意,您仍然可以将整个条件包装在括号中,但是使用Ruby(与JavaScript不同),您不需要.

总结

以上是内存溢出为你收集整理的Ruby – 在一行上使用多个条件全部内容,希望文章能够帮你解决Ruby – 在一行上使用多个条件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1257557.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存