我是学习Ruby语言的初学者。 我是从leetcode学习的。
这里有一个解决方案,但我不知道为什么? 我想知道解决方案中的结构是什么
丑陋的数字 溶液:
def is_ugly(num)
(2..5).each { |i| num /= i while (num % i == 0) } if num > 0
num == 1
end
我不知道为什么'如果'必须落后'}'
如果删除'if'statement
,将会出错语法错误,意外的输入结束,期待keyword_end
和
while (num % i == 0)
我无法理解这句话
从我所知道的看起来像:
例如。
while conditional [do]
code
end
非常感谢
答案 0 :(得分:4)
if
和while
都是所谓的后缀(短)形式。
试试这些:
puts "yes" if true
和
puts "yes" if false
它基本上与:
相同if true
puts "yes"
end
代表while
:
num /= i while (num % i == 0)
与
完全相同while (num % i == 0)
num = num / i
end