読者です 読者をやめる 読者になる 読者になる

Bonkura - Kenny

SIerで働く文系SEの記録

【たのしいRuby_4】オブジェクト・変数・定数

たのしいRubyの第4章を学んだ。

たのしいRuby 第4版

たのしいRuby 第4版

オブジェクト≒ hogeクラスのインスタンス

数値、文字列、配列、ハッシュ、正規表現、時刻、ファイルへの読み書きを行うためのオブジェクト、シンボル etc

クラス

オブジェクトの種類をあらわす。全てのオブジェクトは何らかのクラスのインスタンスとなる。

変数

  • ローカル変数(先頭がアルファベットの小文字)

最初に代入された時に初期化される。 初期化されていないローカル変数を参照しようとすると例外が発生する。

プログラム全体のどこからでも変更できる為あまり好まれない。

  • インスタンス変数(先頭が「 @ 」で始まる。)
  • クラス変数(先頭が「 @@ 」で始まる。)

定数

先頭のアルファベットが大文字で始まるもの。

予約語

変数名や定数名として使用が制限されている名前
ex) and def end begin などなど

多重代入

a,b,c = 1,2,3
  • 変数のほうが多い場合は不足した分はnil
  • 変数のほうが少ない場合は余った値は代入されない
  • 受け取る側の変数に一つだけ*を付けておくと、その変数には余った値の配列が代入される。
  • 入れ子になった配列の要素は、()でくくれば取り出せる。「a,(b1,b2),c1 = ary[1,[2,3],4]」

変数の入れ替え(tmpを使わない)

a,b=0,1
a,b=b,a
puts a,b