心はいつも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

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

  関連記事

no image
Railsの%

Rubyの%じゃなくてRailsの%です。 RailsではSQLを生成するwhe …

no image
電子雑誌を買いました

GWの計画を立てているとき、行きたい場所を検索をすると、HANAKO WESTの …

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

10.3マイクロポストを操作する、です。 仕様の理解 ポストはユーザーだけが投稿 …

no image
ToDoの管理方法

東大生はノートがきれいだとか、、 きれいに書いている暇があったら、頭に書いて覚え …

no image
プログラミングから離れた理由を思い出した

私は転職が多く5社で正社員で経験しています。全部IT系なのだけど全部職種が違いま …

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

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

文字化けもするし、、

自作テンプレ作ったはいいですが、問題が、、。 関連しそうな記事 iTunesをM …

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

第6章ユーザーのモデルを作成する。です。ここから開発っぽくなってきます。って今ま …

Lionさんがお出まし?AppStoreでのアップデート

MacBookAirのDockにあるAppStoreアイコンになにやらアップデー …

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

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