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

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

  関連記事

MacBookAirの容量が足りない

当ブログairpucciで人気なのがMacBookAirに関するエントリ。ありが …

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

6.3.5ユーザーを作成する、です。 userモデルはできています。開発用のデー …

no image
RailsTutorial4.0を高速で復習する。3.5章。つづき。

3.5演習の2もんめをやります。 2.お気付きの方もいると思いますが、リスト3. …

WordPress親テーマversion upに伴う、子テーマのバージョンアップ作業

WordPress子テーマの作り方で書いた通り、airpucciの現在のテーマは …

吉瀬美智子さんが美しすぎて、新サイト作りました

以前からやりたいと思っていたのですが、吉瀬美智子さんが美しすぎてやる気がでました …

no image
Mac OS Xでftp × Cyberduck

WordPressにプラグインを入れたくてダウンロードしてきました。 そういえば …

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

テストコードが長くなったからリファクタリングするかも、、といいながら、静的ページ …

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

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

文字化けもするし、、

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

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

5.3.4RSpecを洗練させる、です。 確かに、名前付きルートに書き換えていて …