Неожиданный '\ n' в Ruby Fiber - PullRequest
0 голосов
/ 12 июля 2010

Я пытаюсь обернуть голову вокруг многопоточности, поэтому я играюсь с Fiber s в Ruby. Однако, когда я пытаюсь запустить свой скрипт, он говорит мне, что у меня неожиданный символ новой строки после моего троичного оператора. Я что-то упустил из-за синтаксиса, здесь?

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

1 Ответ

1 голос
/ 12 июля 2010

power = power.nil? ? 'на' | мощность

Правильный синтаксис для этого: power = power.nil? ? 'on' : power, с двоеточием вместо канала.

Однако вы могли бы просто написать это power = 'on' if power.nil?, которое немного короче и, вероятно, более читабельно для большинства людей.

Также в качестве обозначения: есть ли особая причина, по которой вы используете 'on' и 'off' вместо true и false?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...