本说明如下:
NUMBER CRUNCHER
编写一个以数字作为参数的方法 如果数量大于20 从数字倒数2 如果数量小于20 从数字开始倒数1 在数字减少到0时显示数字。
我写过这个,但它并没有按照预期做到。有什么帮助吗?
def num_cruncher(num)
count = num
until count == 0 do
if num > 20
puts count - 2
else
puts "#{count}"
end
count -= 1
end
end
答案 0 :(得分:2)
这是您的代码,尽可能少的更改:
def num_cruncher(num)
count = num
until count < 0 do
puts count
if num > 20
count -= 2
else
count -= 1
end
end
end
num_cruncher(10)
# 10
# 9
# 8
# 7
# 6
# 5
# 4
# 3
# 2
# 1
# 0
num_cruncher(21)
# 21
# 19
# 17
# 15
# 13
# 11
# 9
# 7
# 5
# 3
# 1
通过在循环外部提取if语句,代码变得更短:
def num_cruncher(num)
if num > 20
step = 2
else
step = 1
end
until num < 0 do
puts num
num -= step
end
end
答案 1 :(得分:1)
您可以在此处使用Numeric#step。像这样:
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
} else {
// No user is signed in.
}
});