Это мой текущий код для генератора файла конфигурации IRCD, Я стараюсь, чтобы иметь возможность использовать answer_or_default
для этого, и выяснить, использование HighLine::Question#gather
HighLine: Использование собрать и answer_or_default
Вот answer_or_default
a = HighLine.new($stdin, $stderr)
connect_pingfreq = a.ask("? ", Integer) do |q|
q.default = 240
q.in = 0..300
# q.answer_or_default
# gives
# /var/lib/gems/2.0.0/gems/highline
# -1.7.8/lib/highline/question.rb:217:in
# `answer_or_default': wrong number of arguments (0 for 1) (ArgumentError)
end
# I've used it here as
# connect_pingfreq.answer_or_default
# But then gives the error shown
# ?
# /home/ken/git/shell-scripts/inspigen/generator.rb:48:in `conf':
# undefined method `answer_or_default' for 240:Fixnum (NoMethodError)
При использовании функции answer_or_default внутри я не слишком уверен в том, как дать ей свою «answer_string», о которой говорит документация.
А затем 240 - это ответ, но я не могу ничего с этим сделать.
Я также хотел бы изучить использование HighLine::Question#gather
с использованием этого кода. Учитывая, что я не могу понять, в документации это
a = HighLine.new($stdin, $stderr)
a.say "Your <admin> lines.."
admin_name = a.ask "Admin Real Name? "
admin_nick = a.ask "Admin Nick? "
admin_email = a.ask("Admin Email? ") do |q|
q.validate = /\A([\w+\-].?)[email protected][a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/
end
#gather должны спросить у меня 3-х линий, имя, ник и электронная почта
Либо в хэш или массив, но я считаю, что хэш-бы быть более легко читаемым.
«До сих пор я не был успешным» не описывает вашу проблему. Пожалуйста, объясните, что не так с вашим кодом. Фактическое и желаемое поведение не менее –
Тело вопроса исправлено – IotaSpencer