0

こんにちは、Chris Pines の本から、開始年と終了年の間のうるう年をリストするよう求める質問について助けが必要です。私はそれが他の方法で行われるのを見てきましたが、とにかくこのコードを機能させる方法があるかどうか疑問に思っていましたか? どうしたの?私はプログラミングが初めてです。ありがとう!このエラーが発生します。

(eval):22: (eval):22: compile error (SyntaxError)
(eval):22: syntax error, unexpected $end, expecting kEND

私のプログラム:

def years(starting, ending)
  while starting <= ending
    while (starting % 4 == 0) && (starting % 400 == 0)
      puts starting
    unless starting % 100 == 0
  end
  starting += 1
end
4

2 に答える 2

3

エラー メッセージはwhile、コード内のループにendステートメントがないことを示しています。

ロジックの正確性をチェックしないと、コード自体は次のように構成されます。

def years(starting, ending)
  while starting <= ending
    while (starting % 4 == 0) && (starting % 400 == 0)
      puts starting unless starting % 100 == 0
    end
    starting += 1
  end
end
于 2013-03-16T04:48:10.707 に答える
0

日付メソッドのリープを使用できますか? true または false を返します

require 'date'
def leap_year?(year)
  Date.new(year).leap?
end

http://ruby-doc.org/stdlib-2.0/libdoc/date/rdoc/Date.html#method-c-leap-3F

于 2013-03-16T04:43:12.583 に答える