小编Jef*_*een的帖子

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

所以,我遇到了这个问题,我希望在例程继续之前检查三个条件,但它不断抛出语法错误,说它不期望多个条件.现在,我知道我见过其他人使用如下行:

if x > 100 && x % 2 == 1
    #Do something
end
Run Code Online (Sandbox Code Playgroud)

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

if (letters.eql? letters.upcase && dash.eql? '-' && numbers.to_i.to_s.eql? numbers)
Run Code Online (Sandbox Code Playgroud)

惹错了很多错误.这与".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 …
Run Code Online (Sandbox Code Playgroud)

ruby if-statement multiple-conditions conditional-statements

3
推荐指数
2
解决办法
2万
查看次数