心はいつもAirPucci (空元気でもいいから)

毎日がPucciを着ているような気分

パーフェクトRuby 3章制御構造/メソッド/組み込み関数 3-1演算子

   


パーフェクトRuby2章の後は6章をやろうと思っていましたが、やっぱり順番にやっていきます。

p73
3-1 演算子
3-1-1 演算子と優先順位

Rubyの演算子については公式にもあり。

高い ::
[]
+(単項) ! ~
**
-(単項)
* / %
+ –
<< >>
&
| ^
> >= < <= <=> == === != =~ !~
&&
||
.. …
?:(条件演算子)
=(+=, -= … )
not
低い and or

公式もパーフェクトRubyもいきなり::が演算子として一番優先度が高いってかいてあって、なんやねんって思う。
::ってなんやねん。
たのしいRubyにも解説はなかった。
はじめてのRubyには書いてあった。さすがですよ。
Rubyは同じ記号でも用い方で複数の意味があるので、説明しといてほしいわ。検索すればって記号は検索しても結果がきちんとでてくれんのよ、こまるわぁ。

:: スコープ解決。モジュールの関数参照の時に使う。
[] 添字。配列で使う。
+ 正符号、足し算じゃない。+@とも書く
! 論理否定
~ ビット反転。ちなみにMacでチルダを出すには英数字モードでShift+^
** べき乗
– 負符号、引き算じゃない。-@とも書く
* かけ算
/ 割り算
% 余
+ 足し算
– 引き算
<< 左ビットシフト、データ入力 >> 右ビット、データ入力
& ビット積
| ビット和
^ 排他的ビット和
> 大小比較
>= 大小比較
< 大小比較 <= 大小比較 <=> 比較
== 同値
=== case同値
!= 非同値
=~ パターンマッチ
!~ パターン非マッチ
&& 論理和(AND)
|| 論理和(OR)
.. 範囲生成
… 範囲生成
? 条件演算子
: 条件演算子 var = a ? b : c aが真ならb,偽ならc
= 代入
+= 自己代入演算子。+= -= *= /= %= **= <<= >>= |= &= ||= など。
not 論理否定
and 論理積
or 論理和

p74
3-1-2 メソッドとして定義されている演算子
メソッドとして定義されている演算子は独自に定義することができる。っていわれてもいじりたくない。

p75
3-1-3 ==演算子とオブジェクトの同値性
同値性と同一性(同じインスタンス)の違い。同一性はequal?メソッドで確認する。

class Stand
  def pucci
    return "C-MOON"
  end

  def jorin
    return "Stone Ocean"
  end
end

a = Stand.new
b = Stand.new

p a.pucci == b.pucci #true
p a == b #false
p a.pucci == a.jorin  #false
p a.pucci.equal?(a.jorin) #false
p a.equal?(a) #true
p a.equal?(b) #false

stand = { CMOON: 1, StoneOcean: 2, MadeInHeaven: 1 }
p stand[:CMOON].equal?(stand[:MadeInHeaven]) #true

 - テクニカル ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

iPadのiBooksで自炊とかしたPDFの電子書籍を読む

手順覚えないのでブログに書きます。 Bookscan使用して手持ちPDF電子書籍 …

no image
RailsTutorial4.0を高速で復習する。6.2.3章。

6.2.3長さを検証する、です。空データを拒否した次は、入力できるデータ長の制限 …

no image
ブログは独自ドメインの方が強いかもね

すっかり月一ペースで更新するブログになってしまい焦ります。 震災直後に政権批判し …

初めてのRuby2章 2.2ハッシュ

ハッシュ ハッシュとは、オブジェクトにキーを対応させたもの。 C++,Javaで …

Objective-C苦節3ヶ月アプリ作れるようになった

このブログairpucci.comのメニューにアプリ開発追加しました。 昨年秋よ …

no image
RailsTutorial4.0を高速で復習する。5.6章。演習2問目のつづき。

5.6章。演習2問目です。TDDにこだわり、あえてこの問題をするまで、ヘッダーや …

no image
MacBookAirは壊れるの?

1ヶ月ぶりにWindows機を立ち上げています。HDDのカリカリ言う音が冷や汗も …

iOS developerプログラムに登録しました

iPhoneアプリを初めてリリースしたのは2010年7月です確か。 デベロッパー …

メタプログラミングRuby第1章

初めてのRuby2章と8章をやったところで、メタプログラミングRubyに進みます …

Ruby1.9+Rails3.2に加えて、Ruby2.0+Rails4.0のプロジェクトを作る。

Ruby1.9+Rails3.2のプロジェクトは作りましたが、その後、Ruby2 …