我昨天开始阅读学习计划,第2版。我觉得很容易理解,我非常喜欢它。我来到一个部分,我面临着建立一个Ruby应用程序的挑战,该应用程序将告诉我哪些年是闰年。我想知道你认为我是如何使这个应用程序工作的。它有效,这很好,但它是最有效的方式吗?
(闰年可以被4整除。所以我知道使用模数,每个闰年必须%4 == 0。)
puts "So you want to know which years are leap years?"
puts "What year to begin with?"
ySt = gets.chomp.to_i
puts "What year to end with?"
yEn = gets.chomp.to_i
while ySt <= yEn
if ySt % 4 == 1
ySt = ySt + 3
elsif ySt % 4 == 2
ySt = ySt + 2
elsif ySt % 4 == 3
ySt = ySt + 1
end
puts ySt
ySt = ySt + 4
end
对于我来说,这是Ruby的第二天,我很自豪我做了这个工作,因为书中没有提供任何帮助或示例。我只想看看别人会怎么做,或者你觉得这很棒!
提前谢谢你。当我变得更有经验时,我一定会在StackOverflow上返回知识和支持。
答案 0 :(得分:1)
Ruby有一个方法Date::leap?
:
require 'date'
(1980..2000).each do |year|
puts year if Date.leap?(year)
end
输出:
1980
1984
1988
1992
1996
2000