雲雀は高く空を舞い このページをアンテナに追加 RSSフィード

「ひよこは高く空を舞い」について

2006-06-04

[]数値と演算子 数値と演算子 - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク - 数値と演算子 - 雲雀は高く空を舞い 数値と演算子 - 雲雀は高く空を舞い のブックマークコメント

数値

Rubyで扱える数値には整数と浮動小数点がある.

整数

-255 =-0377 =-0xff =-0XFF

それぞれ、10進数、8進数、16進数。8進数は0で始まり、16進数は0x/0Xで始まる。

083 , 0xG などはsyntax errorになる。

booleanはあるのかな?

浮動小数

3.14, .14, 3.0, 6.02e23( = 6.02\times10^{23}), 5.1e-5( = 5.1\times10^{-5}), 6e-1 ( = 6.0\times10^{-1})

演算子

四則演算+α
+
加算
-
減算
*
乗算
/
除算 (整数÷整数の計算の答えは整数に丸められる)
%
除算で商を整数とした余り
**
累乗 (乗除算よりも優先される。また連続してある場合は後ろから実行される)
整数の非負整数乗は整数で、それ以外は浮動小数
0**00**0.00 になるが、 0.0**00.0**0.0NaN (Not a Number)(どういう意図で?)
インスタンスメソッド
数値.abs
数値の絶対値を表示
数値.floor
数値を超えない最大の整数
数値.round
数値の小数点以下を四捨五入
数値.ceil
数値を下回らない最小の整数
数値.truncate
数値の0方向の丸めて整数
数値.to_i
数値を0方向へ丸めて整数に (same as truncate)
数値.to_f
数値を浮動小数に

これらの演算は他の演算子よりも優先度が高い

また、他にどのようなメソッドがあるかはinteger (整数), float (浮動小数)により、以下を参照。

ref:Math, ref:Bignum, ref:Fixnum, ref:Numericなども参照。

[]数学のためのRuby入門 4-2 数学のためのRuby入門 4-2 - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク - 数学のためのRuby入門 4-2 - 雲雀は高く空を舞い 数学のためのRuby入門 4-2 - 雲雀は高く空を舞い のブックマークコメント

404 Not Foundのホームワーク

  1. 2の平方根と立方根を計算せよ。
  2. (1+\sqrt{2})(1-\sqrt{2}) を計算せよ
  3. 2^6+1 を 10 で割った余りを求めよ
  4. \frac{22}{7} の小数第四位を四捨五入して、小数第三位まで求めた値を計算せよ

1) 2の平方根と立方根を計算せよ。

irb(main):003:0> 2.0 ** (1.0/2.0)
=> 1.4142135623731

** で累乗の計算. ** は四則演算に優先するので, 1 / 2 を先に計算するために ( ) で囲む.

また,1 / 2とした場合, 12がインテジャ(整数)扱いされてしまうため,1.0 / 2.0として計算する.以下に例を示す.

irb(main):004:0> 1/2
=> 0
irb(main):006:0> 1.0/2
=> 0.5
irb(main):007:0> 1/2.0
=> 0.5

三乗根も同様.

irb(main):008:0>  2.0 ** (1.0 / 3.0)
=> 1.25992104989487

2) (1+\sqrt{2})(1-\sqrt{2}) を計算せよ

irb(main):015:0> ( 1.0 + (2.0 ** (1.0/2.0))) * ( 1.0 - ( 2.0 ** (1.0/2.0)))
=> -1.0

特に問題なし.

3) 2^6+1 を 10 で割った余りを求めよ

irb(main):010:0* ((2.0**6)+1) % 10
=> 5.0
irb(main):011:0> ((2.0**6)+1)
=> 65.0

特に問題なし.

4) \frac{22}{7} の小数第四位を四捨五入して、小数第三位まで求めた値を計算せよ

irb(main):016:0> 22.0/7
=> 3.14285714285714
irb(main):017:0> 22.0/7.0*1000
=> 3142.85714285714
irb(main):019:0>  ( 22.0 / 7.0 * 1000 ).round / 1000.0
=> 3.143

.round は数値の小数点第1位を四捨五入するメソッド.それを使うために,数値を1000倍して数値の小数点第4位を小数点第1位に持ってくる.そこで .round により四捨五入,今度は1/1000して元の数値を得る,と.

こんなのピーナッツですな。


cat::ruby

,


[] 変数変数の代入  変数と変数の代入 - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク -  変数と変数の代入 - 雲雀は高く空を舞い  変数と変数の代入 - 雲雀は高く空を舞い のブックマークコメント

404 Not Foundより

変数の命名規則

ある特定の値を保存するもの、あるいは不定の値の代わりをするもの。

命名は小文字の英字か_で始まり,英数字か_が続く名前ならOK.

参考) Rubyのコードを書くにあたってのコーディング規約

Rubyコーディング規約

また、予約語としてあらかじめ使われている文字列がある. これは変数名として使用する事が出来ない.

予約語はこのエントリの最後に掲載.

以下に変数名として使えるもの,使いないものの例を挙げる.

変数名として可能
  • x
  • pi
  • eulerGamma
  • log2_10
  • _DEGREE_
変数名として不可能
  • ArcTangent大文字で始まっている)
  • 2pi (数字で始まっている)
  • exp2.5 (アンダースコア以外の記号が入っている)
  • next予約語

値の代入と参照

x=3 のように、左側に変数、右側に値を書くことで、変数に値が保存されます。これを(変数への値の)代入と呼びます。代入された値は、他の値を代入したり、変数のスコープを抜ける(後述)までは保持されます。代入された値を使うときは、変数をそのまま数値などと同じように書きます。このことを(変数の値の)参照と言います。

404 Not Foundより

自己代入

変数の値を増やすために x = x + 3 といったことをよく行います。これを省略して、 x += 3 と書くことができます。同様に、 -=, *=, /=, %=, **= も使えます。こういった、変数自身との演算結果をその変数に代入するような演算子を、自己代入演算子といいます。

404 Not Foundより

以下に例を示す.

irb(main):023:0* x = 10
=> 10
irb(main):024:0> x += 2
=> 12
irb(main):025:0> x *=3
=> 36
irb(main):031:0> x ** 0.5
=> 6.0

予約語一覧

  • alias
  • and
  • begin
  • break
  • case
  • class
  • def
  • defined
  • do
  • else
  • elsif
  • end
  • ensure
  • false
  • for
  • if
  • in
  • module
  • next
  • nil
  • not
  • or
  • redo
  • rescue
  • retry
  • return
  • self
  • super
  • then
  • true
  • undef
  • unless
  • until
  • when
  • while
  • yield
トラックバック - http://chick.g.hatena.ne.jp/allegro/20060604
テクノラティプロフィール