Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby语句中的`and`s的数量有限制吗?_Ruby - Fatal编程技术网

Ruby语句中的`and`s的数量有限制吗?

Ruby语句中的`and`s的数量有限制吗?,ruby,Ruby,下面的代码可以按照我的要求工作,每次按l键都可以打开或关闭灯。然而,当我尝试添加其他我想通过切换完成的事情时,我不能 look = 0 lighton = 0 while look < 10 system 'stty cbreak' q = $stdin.sysread 1 case q ### #{q} when "l" then if lighton==1 then lighton=0 and puts "ight off" els

下面的代码可以按照我的要求工作,每次按l键都可以打开或关闭灯。然而,当我尝试添加其他我想通过切换完成的事情时,我不能

look = 0
lighton = 0
while look < 10
  system 'stty cbreak'
  q = $stdin.sysread 1
  case  q ### #{q} 
  when "l" then if lighton==1 then lighton=0  and puts "ight off"
                else lighton=1 and puts "ight on" end
  end
  system 'stty cooked'
  look += 1
end #while

我想在
if
else
部分中添加几个语句,但不能

我对ruby一无所知,但是由于在
之后发生了很多事情,那么在你的if语句中,你需要对它们进行分组吗?ie Java你会把它们放在{}

我对ruby一无所知,但是由于在
之后发生了很多事情,那么在你的if语句中,你需要对它们进行分组吗?ie Java你会把它们放在{}

没有限制,你只是误用了
操作符。它不是要做“这个和那个”,而是“做这个,如果是真的,也做这个”。下面是一个简单的例子:

1 and puts 'falsy'
nil and puts 'truthy'
# prints: falsy
由于
put
返回
nil
,这是falsy,
放置“hello”并放置“world”
将只打印“hello”

因此,不要使用
来创建一行程序。你可以使用
相反,但这无助于可读性。相反,只需使用多行!现在发生的事情更清楚了:

case  q
when "l"
  if lighton == 1
    lighton = 0
    puts "light off"
    puts "light still off"
  else
    lighton = 1
    puts "light on"
  end
end

您可能希望了解更多信息。

没有限制,您只是误用了
运算符。它不是要做“这个和那个”,而是“做这个,如果是真的,也做这个”。下面是一个简单的例子:

1 and puts 'falsy'
nil and puts 'truthy'
# prints: falsy
由于
put
返回
nil
,这是falsy,
放置“hello”并放置“world”
将只打印“hello”

因此,不要使用
来创建一行程序。你可以使用
相反,但这无助于可读性。相反,只需使用多行!现在发生的事情更清楚了:

case  q
when "l"
  if lighton == 1
    lighton = 0
    puts "light off"
    puts "light still off"
  else
    lighton = 1
    puts "light on"
  end
end
您可能希望阅读更多关于