简单的 ruby 语法 if 语句。这可能吗?
Simple ruby syntax if statement. Is this possible?
我真的是编程新手,想知道这是否可行:
def lock(a,b,c,d)
if (a == 3 || a == 5 || a == 7 && b == 2 && c == 5 || c == 6 && d == 8 || d == 9 || d == 0)
"unlocked"
else
"locked"
end
如果不可能,为什么?
所以当我传入:lock(3,1,1,1)
它应该被锁定。
我应该换一种方式吗?有没有更好的办法?
您应该按照您的逻辑正确添加括号。像这样,
((a == 3 || a == 5 || a == 7) && (b == 2) && (c == 5 || c == 6) && (d == 8 || d == 9 || d == 0))
我会使用 include?
使其更具可读性:
if ([3,5,7].include?a and b == 2 and [5,6].include?c and [8,9,0].include?d)
我真的是编程新手,想知道这是否可行:
def lock(a,b,c,d)
if (a == 3 || a == 5 || a == 7 && b == 2 && c == 5 || c == 6 && d == 8 || d == 9 || d == 0)
"unlocked"
else
"locked"
end
如果不可能,为什么?
所以当我传入:lock(3,1,1,1)
它应该被锁定。
我应该换一种方式吗?有没有更好的办法?
您应该按照您的逻辑正确添加括号。像这样,
((a == 3 || a == 5 || a == 7) && (b == 2) && (c == 5 || c == 6) && (d == 8 || d == 9 || d == 0))
我会使用 include?
使其更具可读性:
if ([3,5,7].include?a and b == 2 and [5,6].include?c and [8,9,0].include?d)