キモブロ

Please spy check please, Fucking retard

ふと思ったけど、絶対値って二乗して平方根とればわかるのかな。

> Math.sqrt(10 ** 2)
 => 10

> Math.sqrt(-3 ** 2)
> Math::DomainError: Numerical argument is out of domain - "sqrt"
        from (irb):9:in `sqrt'
        from (irb):9
        from /home/kimoto/.rbenv/versions/1.9.3-p327/bin/irb:12:in `<main>'

# あれえええええ
# Rubyって**のほうがマイナス符号よりも結合優先度高いんだな
# これってマイナスの値がsqrtに入力されてるのが例外になってしまってるんだろうなぁ。
# というわけで-1でテストしてみる
> Math.sqrt(-1)
Math::DomainError: Numerical argument is out of domain - "sqrt"
        from (irb):10:in `sqrt'
        from (irb):10
        from /home/kimoto/.rbenv/versions/1.9.3-p327/bin/irb:12:in `<main>'
# はい、再現しました。
# 気を取り直してやり直し
> Math.sqrt((-3) ** 2)
=> 3.0

> Math.sqrt((7) ** 2)
=> 7.0

> Math.sqrt((0.235) ** 2)
=> 0.235

# 無限小数な有理数ではどうか
> Math.sqrt( (- Rational(1, 3)) ** 2 )
=> 0.3333333333333333

大丈夫そうだなぁ。