Как я возвращаюсь рано из задачи граблей?

У меня есть задача граблей, где я делаю некоторые проверки вначале, если бы одна из проверок перестала работать, я хотел бы возвратиться рано из задачи граблей, я не хочу выполнять любой остающийся код.

Я думал, что решение будет состоять в том, чтобы поместить возврат, где я хотел возвратиться из кода, но я получаю следующую ошибку

unexpected return
213
задан Simone Carletti 22 February 2010 в 21:54
поделиться

1 ответ

Задача Rake - это в основном блок. Блок, кроме лямбда-выражений, не поддерживает return, но вы можете перейти к следующему оператору, используя next , который в задаче rake имеет тот же эффект, что и использование return в методе.

task :foo do
  puts "printed"
  next
  puts "never printed"
end

Или вы можете переместить код в метод и использовать return в методе.

task :foo do
  do_something
end

def do_something
  puts "startd"
  return
  puts "end"
end

Я предпочитаю второй вариант.

272
ответ дан 23 November 2019 в 04:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: