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

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

初めてのRubyを読む その34 7.1

2011-10-21 23:56:07 | Ruby
「初めてのRuby」を読むの続き

今日から
7章 メソッド

7.1 メソッド呼び出し
から




■7章 メソッド

・メソッド:Rubyにおいて手続きをモジュール化し、再利用するための仕組み
  オブジェクト指向のメッセージ送信と
  構造化プログラミングのサブルーチン
 両方の役割

・関数型メソッド
  オブジェクトとは無関係に呼びさせる




■7.1 メソッド呼び出し
・Rubyプログラムにおけるすべてのデータはメソッドを持っている
  →どんなメソッドを持っているかは、クラスによる
・Rubyプログラミングで中心的な役割を果たすのがオブジェクトに
 対するメソッド呼び出し

・メソッドを呼び出すには、レシーバー、メソッド名、引数を以下のように書く

   a.some_method(1,"str")
   a::some_method(1,"str")

 クラスメソッドを呼ぶ場合を除いて、第一のスタイルが主流




■7.1.1 括弧の省略

・引数をくくる括弧はあいまいさを生まない限り省略可能




■7.1.2 メソッド連鎖

・メソッドは必ず何らかの値を返す
  →メソッドの返り値ないし戻り値という
  →返り値に対してメソッドを呼ぶことも可能
     →メソッドチェーン




■7.1.3 レシーバーの省略

・メソッドを呼び出すレシーバーを省略することができる
  →この場合は、デフォルトのレシーバーである
   selfに対してメソッドが呼ばれる
     →C++,Javaなどのthis

・擬似変数selfは常に「現在のレシーバー」をさしている

・privateメソッドは、常にレシーバーを省略形式で呼び出す。


・レシーバー省略とローカル変数
 引数をもたないメソッドのレシーバーを省略すると、
 ローカル変数の参照と見分けつかない
   →ローカル変数優先
 関数的メソッドでも形式的にはレシーバーを持っている

・組み込み関数
 どこからでも呼び出せる便利な関数メソッド
 Kernelモジュールのメソッド




■7.1.4 引数展開
・ * 修飾により、配列に格納された値を引数リストに
 展開できる

・Ruby1.8では、 * 付き要素は引数リストの最後
 Rubyi.9では、出現位置、回数ともフリー
 配列から引数リストへの自動的展開は行わない


・関数型メソッド
 非オブジェクト指向的に用いられるメソッド
 レシーバーを持たない手続き

この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« PMBOKのお勉強 その3... | トップ | 「iPhone 4Sの『Siri』に脆弱... »
最新の画像もっと見る

Ruby」カテゴリの最新記事