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

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

  関連記事

初めてのRuby2章「配列とハッシュ」

Railsだってgemの一種!ってことで、Rubyの文法からちゃんとやりたいです …

no image
「Follow me」バッジのつけ方。

ブログの横についている「Follow me」バッジ。いろんな方がつけているのを見 …

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

7.2ユーザー登録フォーム、です。 ユーザー認証も登録も、モデルは作ってあるので …

パーフェクトRuby 2章Rubyの基礎 2-2 変数と定数

p47 2-2-1 ローカル変数 スコープは ・ブロック内 ・メソッド定義内 ・ …

no image
gamilアカウントが乗っ取られました

朝起きてすぐ行うメール確認。iphoneでgmail接続できないってエラーが出る …

no image
MacBookAirは壊れるの?

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

確定申告終わったぁ〜MoneyForwardのおかげです

確定申告終わりました。青色で申請しているので決算書必要なのですが、昨年から使い始 …

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

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

HerokuにRailsアプリをdeployする

Railsプロジェクトというよりも、Railsアプリっていうほうが正んでしょうか …

RailsTutorial4.0を高速で復習する。7章

第7章ユーザー登録、です。 6章でuserモデルを作ったので、7章はwebでの登 …