• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:selectの意味)

selectの意味

このQ&Aのポイント
  • selectの意味とは何でしょうか?
  • selectの引数の取り方について混乱しています。
  • 本に書かれているselectの説明とリファレンスマニュアルの説明が異なっています。

質問者が選んだベストアンサー

  • ベストアンサー
  • siffon9
  • ベストアンサー率64% (136/211)
回答No.4

a = hoge.select(ARGS) の場合に、ARGSの部分が引数です。 ここは、「reads[, writes[, excepts[, timeout]]]」とかかれているので 以下の4種類の書き方ができます。 hoge.select(reads, writes, excepts, timeout) hoge.select(reads, writes, excepts) hoge.select(reads, writes) hoge.select(reads) また、aに代入される値が戻り値です。 ここには、 「戻り値は、timeout した時には nil を、そうでないときは 3 要素の配列を返し、その各要素が入力/出力/例外待ちのオブジェクトの配列です(指定した配列のサブセット)」 と書かれているので nil 若しくは [???,???,???]の形で値が代入されます。 これでご理解いただけるのではないでしょうか。

ghfjri
質問者

お礼

回答ありがとうございます。 まさに私が探していた回答です。 自分の国語力のなさを痛感しています。 ギャスケットの質問をした際、siffon9さんにアドバイスをいただいて、「たのしいRuby」を2回読みましたが、あと3回読もうと思います。

その他の回答 (3)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

ん~, ごめん, 何をどう勘違いしているのか想像できない.... 「引数のとりかた」と「返り値」とは無関係だって, #2 に書かれてるよね. それなのに, なんで「[???[???[???]]]という返し方」と思えてしまうのか....

ghfjri
質問者

お礼

回答ありがとうございます。 本当におっしゃるとおりです。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

引数の記述は、引数の型(クラス)を表していません。どのクラスのオブジェクトを引数に渡して良いかは、その下の文章で書いてあります。 #1の方の回答の通り、引数の欄に書いてある [ ] は、配列表記とは無関係で、省略可能を意味します。 また、メソッドの引数のクラスと、メソッドの返値のクラスは無関係で、返値がどのような値・クラスであるかは、下の文章に書いてあります。 >戻り値は、timeout した時には nil を、そうでないときは 3 要素の配列を返し、その各要素が入力/出力/例外待ちのオブジェクトの配列です(指定した配列のサブセット)。 という文章を見れば、3要素の配列を返すことはすぐにわかります。

ghfjri
質問者

お礼

回答ありがとうございます。 >戻り値は、timeout した時には nil を、そうでないときは 3 要素の配列を返し、その各要素が入力/出力/例外待ちのオブジェクトの配列です(指定した配列のサブセット)。 上の文章はわかるのですが、私の中で、3つの要素を返すといえば、[???,???,???]みたいなのをイメージしています。[???[???[???]]]という返し方でも3つの要素と言うのですか?

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

ここの [...] は「省略できる」ことを表しているはず.

ghfjri
質問者

お礼

回答ありがとうございます。 つまり、配列の要素であるreadsの要素として、writesがあり、writesの要素としてexceptsがある。そして、writes以下は省略が可能であるという理解でよいのでしょうか?

関連するQ&A