第2回セントラルソフトRuby研究会

1,081 views

Published on

セントラルソフトの若手による社内勉強会の資料です。

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,081
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

第2回セントラルソフトRuby研究会

  1. 1. 第2回RUBY勉強会
  2. 2. テーマ• 演算子 • 浮動小数点の演算子計算 • 演算子の優先順位 • 論理式 • 自己代入 • 多重代入 • 範囲演算子 • 条件演算子• 組み込みクラス • 数値クラス • 数値クラスのメソッド
  3. 3. 演算子• 算術演算子 ・・・ + - * / % **• 比較演算子 ・・・ < > == != <= >= === <=>• 論理演算子 ・・・ && || ! and or not• その他 ・・・ :: [] << >> & | ~ ^ =~ !~ .. … ?:
  4. 4. 浮動小数点に対する演算子計算a = 10 / 5 a = 10 / 4puts a puts aa = 10.0 / 5 a = 10.0 / 4puts a puts a実行結果 実行結果2 22.0 2.5
  5. 5. 演算子の優先順位 ::高 []い +(単項) ! ~ ** -(単項) * / % + - << >> & | ^ > >= < <= <=> == === != !=~ !~ && || .. ... ?: = not and or低
  6. 6. 優先順位の例1if false && true || false p1endif true || false && false p2end実行結果2
  7. 7. 優先順位の例2if true || false && false p1endif true or false and false p2end実行結果1
  8. 8. 論理式の評価true || a = 1 true && a = 1pa pafalse || b = 1 false && b = 1pb pb実行結果 実行結果nil 11 nil
  9. 9. 自己代入a += 1, a -= 1 a ||= 1 aが定義されていない、偽の値a = a + 1,a = a - 1と同じ の場合のとき1を代入aがあらかじめ定義されて a &&= 1いなければエラー aが定義されている、真の値の 場合の時1を代入 aがあらかじめ定義されていな くても実行される
  10. 10. 多重代入(1)a,b = 1,2 a,b,c = 1,2 a,*b = 1,2,3 a = 1,2,3,4pa pa pa papb pb pb 結果結果 pc 結果 [1,2,3,4]1 結果 12 1 [2,3] 2 nil
  11. 11. 多重代入(2)(a,b) = [1,2] a, = 1,2 def plus(*)pa b,* = 1,2 puts 1pb pa end結果 pb plus plus(1,2)1 結果 結果2 1 1 1 1 メソッド呼び出しの引数の受け渡 しは 多重代入とほぼ同じ
  12. 12. 範囲演算子(1).. または …1..10 ←1から10までの範囲1…10 ←1から9までの範囲
  13. 13. 範囲演算子(2) 条件式として使用する範囲演算子..の例) …の例)4.times{|n| 4.times{|n|if (n==1)..(n==1) if (n==1)...(n==1) pn pn end}end} 実行結果実行結果 11 2 3
  14. 14. 条件演算子?:例)p true ? “TRUE” : “FALSE”p false ? “TRUE” : “FALSE”実行結果“TRUE”“FALSE”
  15. 15. 組み込みクラス数値クラス(Numericクラス)・Integerクラス ← 数値が正数のクラス ・Fixnumクラス ・Bignumクラス※Fixnumで扱える数値を超えた場合Bignumクラスになる・Floatクラス ← 数値が小数のクラス
  16. 16. 数値クラスのメソッド関連のメソッドfdiv,quo ・・・ 割った結果の値を実数で返すdiv ・・・ 割った結果の値を整数で返すmodulo, remainder ・・・ 割った結果の余りを返すdivmod ・・・ 割った結果の商と余りを配列で返す例) 結果10.fdiv(3) 3.333333333333333310.div(3) 310.modulo(3) 110.divmod(3) [3,1]
  17. 17. 数値クラスのメソッド• 丸めメソッド • ceil 小数点以下全て切り上げ • floor 小数点以下全て切り捨て • round 四捨五入 • truncate 0に近いほうに切り上げまたは切り捨て cei l fl oor round truncate 1. 9 2 1 2 1 1. 1 2 1 1 1 -1. 1 -1 -2 -1 -1 -1. 9 -1 -2 -2 -1

×