selectの意味
リファレンスマニュアルと本のselectの説明がわかりません。
説明の文はなんとかわかるのですが、引数のとり方が「reads[, writes[, excepts[, timeout]]]」となっていて、これは 3 要素の配列を返しているように見えないので、混乱します。「reads[, writes[], excepts[], timeout[]」という書き方なら3 要素の配列を返していると納得できるのですが、ここで返しているのはreadsの中にwritesがあり、更にその中にtimeoutがある配列を返しているんでしょうか?
手元の本に「selectはリクエストを受信すると、リクエストを検出したソケットだけをリストに返します。」とあるのですが、ここで言うソケットとは入力、出力、例外を指していて、リストというのはつまり配列のことなんでしょうか?
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 若しくは [???,???,???]の形で値が代入されます。
これでご理解いただけるのではないでしょうか。
回答ありがとうございます。
まさに私が探していた回答です。
自分の国語力のなさを痛感しています。
ギャスケットの質問をした際、siffon9さんにアドバイスをいただいて、「たのしいRuby」を2回読みましたが、あと3回読もうと思います。
No.3
- 回答日時:
ん~, ごめん, 何をどう勘違いしているのか想像できない....
「引数のとりかた」と「返り値」とは無関係だって, #2 に書かれてるよね. それなのに, なんで「[???[???[???]]]という返し方」と思えてしまうのか....
No.2
- 回答日時:
引数の記述は、引数の型(クラス)を表していません。
どのクラスのオブジェクトを引数に渡して良いかは、その下の文章で書いてあります。#1の方の回答の通り、引数の欄に書いてある [ ] は、配列表記とは無関係で、省略可能を意味します。
また、メソッドの引数のクラスと、メソッドの返値のクラスは無関係で、返値がどのような値・クラスであるかは、下の文章に書いてあります。
>戻り値は、timeout した時には nil を、そうでないときは 3 要素の配列を返し、その各要素が入力/出力/例外待ちのオブジェクトの配列です(指定した配列のサブセット)。
という文章を見れば、3要素の配列を返すことはすぐにわかります。
回答ありがとうございます。
>戻り値は、timeout した時には nil を、そうでないときは 3 要素の配列を返し、その各要素が入力/出力/例外待ちのオブジェクトの配列です(指定した配列のサブセット)。
上の文章はわかるのですが、私の中で、3つの要素を返すといえば、[???,???,???]みたいなのをイメージしています。[???[???[???]]]という返し方でも3つの要素と言うのですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vbsでテキストファイル内の文字...
-
VB.NET 2つの配列を連動して並...
-
配列の値を置換するにはどうす...
-
数値を浮動小数点32bitHEXコー...
-
ループを違う条件で抜けるよう...
-
copyRecordsetの数値16桁以上に...
-
excelの、ある数式内の{}の意...
-
VB 配列の内容をファイルに書...
-
エクセルへのデータの貼付時に...
-
VBAのWorksheetFunctionの引数...
-
COLUMN(1:1)の意味を教え...
-
VBAでダブルコーテーション入り...
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
正規表現で、英数記号を含むパ...
-
python の 連鎖代入の文法
-
Excel VBAでイコール二回使えま...
-
テキストボックスの値を変数に...
-
整数xxxが大き過ぎますというエ...
-
jsp~jspにhiddenを使って変数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelの、ある数式内の{}の意...
-
vbsでテキストファイル内の文字...
-
配列の値を置換するにはどうす...
-
VBAのWorksheetFunctionの引数...
-
VB6で配列を文字列に変換する方...
-
RichTextBoxの改行を認知してく...
-
エクセルへのデータの貼付時に...
-
COLUMN(1:1)の意味を教え...
-
○桁にある数値を取得する VB.N...
-
数値を浮動小数点32bitHEXコー...
-
VBSで特定の文字列が含まれる場...
-
VBAで配列に文字列が入らない?
-
エクセル、この関数の意味は?
-
【エクセル】 関数による電子...
-
copyRecordsetの数値16桁以上に...
-
in_addrからchar型の文字列の変換
-
ファイルの特定行を取り出したい.
-
VB 配列の内容をファイルに書...
-
VB.NET 2つの配列を連動して並...
-
配列に入った文字列を結合した...
おすすめ情報