2011-08-14 19 views
-4

私はRubyで新しく、ruby Documentationを理解していません。この部分を完全に説明してください。 おかげRubyの問題

enter image description here

+0

角括弧内のパラメータは省略可能です – NARKOZ

+0

あなたは理解していない部分を説明していないので、この質問を「本当の質問ではありません」として閉じるよう投票しています。ただし、後で参照するために、画像にテキストを貼り付けないでください。視覚障害のある読者には判読不能になり、翻訳は不可能になります。 –

答えて

1

これらはFile#open方法のsignaturesです。 Rubyはmethod overloadingをサポートしていないので、そのようなメソッドは1つしかありませんが、異なる引数の組み合わせを受け入れることができます。

と構文を明確にする、あなたのスクリーンショットの最初の形式:

open(filename, mode='r'[, opt]) -> file 

File#open方法の最初の形式は、次の引数を期待することを意味します

  • ファイル名を(必須)
  • モード(オプション、デフォルト値は'r'
  • opt(おそらく異なるオプションをサポートするハッシュ)

ファイルオブジェクトを返すこと。

+0

すみません、第一、第二、第三、第四の形式の復帰は何ですか? –

+0

スクリーンショットを貼り付けるURLを指定すると便利です。とにかく、ブロックを持たないフォーム(最初の2つ)は(ファイルクラスの)ファイルハンドルオブジェクトを返し、ブロックフォーム(後の2つ)はブロック自身が返すものを返します。 –

+0

MladenJablanović、あなたからとても感謝しています。このスクリーンショットは、ruby 1.9.2 p180と一緒にインストールされたrubyドキュメントから取得しました。 –