Rubyが初めてで、ceil
とfloor
がどのように動作するかを理解しようとしています。使用されます(同様の値)。以下は私が試したものです:
puts 8/3.ceil == 2 #=> true
puts 8/3.floor == 2 #=> true
puts 2.67.ceil == 2 #=> false
puts 2.67.floor == 2 #=> true
私の理解では、ceil
は高い数値を返し、floor
は低い数値を返すはずです。誰かがこれについて私を啓発できることを願っています。ありがとうございました! :)
すべてが正しく返されます。
_puts 8/3.ceil == 2
#=> true, because 8/3 returns an Integer, 2
puts 8/3.floor == 2
#=> true, because 8/3 returns an Integer, 2
puts 2.67.ceil == 2
#=> false, because 2.67.ceil is 3
puts 2.67.floor == 2
#=> true, because 2.67.floor is 2
_
ここでよりわかりやすくするために、結果をフロートに変換できます。
_(8.to_f / 3).ceil == 2 #=> false
(8.to_f / 3).floor == 2 #=> true
2.67.ceil == 2 #=> false
2.67.floor == 2 #=> true
_
_8/3.ceil
_が_.
_よりも強くバインドするため、_/
_を実際に書いたのは8 / (3.ceil)
であることに注意してください。 (thx@ tadman)
さらに別のことは、(thx@ Stefan):
fdiv
もあり、浮動小数点除算を実行します。つまり、8.fdiv(3).ceil
です。また、RubyにはNiceも付属していますRational
class:_(8/3r).ceil
_。