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

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

  関連記事

BiglobeでWimax契約して怒った

久々にダメサービスに遭遇して怒ったので書きます。 BiglobeでWimax契約 …

no image
iPhoneの月請求は8円のみです。

昨年11月に、e-mobileからiPhoneにMNPしました。 ちょうど、乗り …

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

6.3.3ユーザー認証、です。 新規ユーザー登録のときは入力で、:passwor …

文字化けもするし、、

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

no image
Everyday Rails3章 バリデーションをテストする

さっき、Aaronを削除したらテスト失敗することを確認しましたが、名前入力無しの …

no image
MavericksアップデートしRuby2.0+Rails4.0.2にversion upする

何を今さら感ですが、MacはAirとMiniの2台持ちです。Airのほうを人柱と …

no image
wordpressのサーバー移行したい

本当に自分の備忘録として。 サーバー移行したいなと考えています。 同時に、Wor …

no image
Macでアプリを強制終了

Macでアプリを強制終了したことは今までなかったのですが、どうにもftpソフトの …

no image
Ruby 1.9系をインストールする

Rubyのバージョン管理ができるrbenvをインストールしたらいよいよRubyの …

no image
テンプレとヘルパーの順番

http://yourdomain/actionxを呼んだときのactionx用 …