繁体   English   中英

Ruby Fiber中意外的“ \\ n”

[英]Unexpected '\n' in Ruby Fiber

我试图将注意力集中在多线程上,所以我在Ruby中玩转Fiber 但是,当我尝试运行脚本时,它告诉我在三元语句之后我有一个意外的换行符。 我在这里错过了一些语法吗?

timer = Fiber.new do |power|
  power = power.nil? ? 'on' | power 
  start = Time.now 
  loop do 
    if power == 'off'
      now = Time.now
      puts now - start
    end
    power = Fiber.yield
  end
end

功率= power.nil? “上” | 功率

正确的语法是power = power.nil? ? 'on' : power power = power.nil? ? 'on' : power power = power.nil? ? 'on' : power ,用冒号代替管道。

但是power = 'on' if power.nil?可以只将power = 'on' if power.nil?power = 'on' if power.nil? ,它对大多数人来说更短一些,并且可能更具可读性。

另外,请注意:是否有特殊原因导致您使用'on''off'而不是truefalse

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM