0

これは、ircd 構成ファイル ジェネレーターの現在のコードです。これを使用できるようにしようとしanswer_or_defaultています。HighLine::Question#gather

これが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+\-].?)+@[a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/
end

#gather は、名前、ニックネーム、メールアドレスの 3 行を要求する必要があります

ハッシュまたは配列のいずれかですが、ハッシュの方が読みやすいと思います。

4

1 に答える 1