gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 07:41:34 26 4
gpt4 key购买 nike

所以,我遇到了这个问题,我想在例程继续之前检查三个条件,但它不断抛出语法错误,说它没有预料到多个条件。现在,我知道我已经看到其他人使用以下行:

if x > 100 && x % 2 == 1
#Do something
end

但是,无论出于何种原因,这一行:

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";
end
else
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)
...

最佳答案

应该这样做:

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

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

关于Ruby - 在一行中使用多个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34276553/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com