Your SlideShare is downloading. ×
  • Like
第2回セントラルソフトRuby研究会
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

  • 758 views
Published

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

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

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
758
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 第2回RUBY勉強会
  • 2. テーマ• 演算子 • 浮動小数点の演算子計算 • 演算子の優先順位 • 論理式 • 自己代入 • 多重代入 • 範囲演算子 • 条件演算子• 組み込みクラス • 数値クラス • 数値クラスのメソッド
  • 3. 演算子• 算術演算子 ・・・ + - * / % **• 比較演算子 ・・・ < > == != <= >= === <=>• 論理演算子 ・・・ && || ! and or not• その他 ・・・ :: [] << >> & | ~ ^ =~ !~ .. … ?:
  • 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. 演算子の優先順位 ::高 []い +(単項) ! ~ ** -(単項) * / % + - << >> & | ^ > >= < <= <=> == === != !=~ !~ && || .. ... ?: = not and or低
  • 6. 優先順位の例1if false && true || false p1endif true || false && false p2end実行結果2
  • 7. 優先順位の例2if true || false && false p1endif true or false and false p2end実行結果1
  • 8. 論理式の評価true || a = 1 true && a = 1pa pafalse || b = 1 false && b = 1pb pb実行結果 実行結果nil 11 nil
  • 9. 自己代入a += 1, a -= 1 a ||= 1 aが定義されていない、偽の値a = a + 1,a = a - 1と同じ の場合のとき1を代入aがあらかじめ定義されて a &&= 1いなければエラー aが定義されている、真の値の 場合の時1を代入 aがあらかじめ定義されていな くても実行される
  • 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. 多重代入(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. 範囲演算子(1).. または …1..10 ←1から10までの範囲1…10 ←1から9までの範囲
  • 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. 条件演算子?:例)p true ? “TRUE” : “FALSE”p false ? “TRUE” : “FALSE”実行結果“TRUE”“FALSE”
  • 15. 組み込みクラス数値クラス(Numericクラス)・Integerクラス ← 数値が正数のクラス ・Fixnumクラス ・Bignumクラス※Fixnumで扱える数値を超えた場合Bignumクラスになる・Floatクラス ← 数値が小数のクラス
  • 16. 数値クラスのメソッド関連のメソッドfdiv,quo ・・・ 割った結果の値を実数で返すdiv ・・・ 割った結果の値を整数で返すmodulo, remainder ・・・ 割った結果の余りを返すdivmod ・・・ 割った結果の商と余りを配列で返す例) 結果10.fdiv(3) 3.333333333333333310.div(3) 310.modulo(3) 110.divmod(3) [3,1]
  • 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