goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

初めてのRubyを読む その29 6.1

2011-10-14 15:25:44 | Ruby
「初めてのRuby」を読むの続き

今日から6章
6章 変数と式
6.1 変数
から




■6.1 変数

・変数:オブジェクトにつける名札




■6.1.1 参照
・変数が保持するものは、オブジェクトへの参照
  →オブジェクトそのもの、値そのものではない
    →複数の変数が同じオブジェクトを
     参照している可能性もある

・呼び出し元の変数とメソッドの仮引数がオブジェクトを共有
  →メソッド内部で引数オブジェクトを変更すると、
   呼び出し元へも兵供してしまう
    →呼び出し元に影響を与えたくなければ
     複製してから利用する




■6.1.2 変数の種類

・変数にはいくつかの種類があり、スコープが異なる
   ローカル変数
   インスタンス変数
   クラス変数
   グローバル変数
   定数

・Rubyには、変数宣言という構文がない
  →変数名によって、自動的に変数の種類が定まる
   先頭1文字をみて判断する




■6.1.3 ローカル変数
・特定のメソッドや呼び出しやクラス定義、ファイル実行の中だけで利用できる
・特に理由がない限り、ローカル変数を使用する
・メソッド定義のdef・・・endを境界としてスコープ分離
   →同名でも境界を越えたら別変数
   →class・・・endやファイルもローカル変数のスコープを分離
・最初の代入式で発生




■6.1.4 インスタンス変数
・インスタンス定数は、特定のオブジェクトに属する変数
 →同じオブジェクトのメソッドの間で共有




■6.1.5 クラス変数
・クラス変数は基本的にはクラスに属する変数




■6.1.6 グローバル変数
・どこからでも参照可能な変数
 どこからでも代入できる

・組み込み変数:特殊なグローバル変数
  $stdout,$1,$2など



■6.1.7 定数
・変更されない変数
 →変更すると警告がでる(変更は出来る)

・特定のクラスやモジュールに属する
  →クラス定義に含まれないものは
   Objectクラスに所属

・ライブラリ:定数を提供してくれている




■6.1.8 擬似変数
・以下の7つの変数をさす
  nil
  true
  false
  self
  __FILE__
  __LINE__
  __ENCODING__

・Ruby処理系が示すオブジェクトを参照
  →ユーザーは定義できない




■6.1.9 識別名と変数名
・Rubyも変数めいめいには一定の制約
  →かなり緩やか
  →先頭文字以外は、ASCII記号を除く任意の印刷可能文字
   または_

・予約語がある

・慣習的制約
  大文字、小文字で単語を区切らない
    →_で区切る
  クラス名のみは例外でPascalStyleを用いる



この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ジョブスさんと、リッチーさ... | トップ | PMBOKのお勉強 その3... »
最新の画像もっと見る

Ruby」カテゴリの最新記事