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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- PostgreSQL 数値が定期的にあらわれる文字列から、いくつめに出現した数値が指定して切り出したい 1 2023/06/08 13:12
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Ruby 初心者プログラミング 3 2022/10/12 11:31
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Excel(エクセル) ExcelVBAでリストの項目に必要数と同じ手配数を分配していくマクロを作りたいです。 1 2022/07/29 18:36
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAのWorksheetFunctionの引数...
-
数値を浮動小数点32bitHEXコー...
-
○桁にある数値を取得する VB.N...
-
excelの、ある数式内の{}の意...
-
vbsでテキストファイル内の文字...
-
【エクセル】 関数による電子...
-
配列の値を置換するにはどうす...
-
VBAでダブルコーテーション入り...
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
テキストボックスの値を変数に...
-
Excel-vba 文字列と変数を...
-
C言語 列挙型(enum型)変数について
-
VB6.0-整数と余りを求める
-
Accessで文字列のバイト数読み込み
-
C#で動的にコントロールを取得...
-
「%」を使って、偶数か奇数かを...
-
DataTableの値を変数に代入したい
-
コマンドプロンプト バッチ|結...
-
Windows Media Playerで動画を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelの、ある数式内の{}の意...
-
配列の値を置換するにはどうす...
-
vbsでテキストファイル内の文字...
-
エクセルへのデータの貼付時に...
-
VBAのWorksheetFunctionの引数...
-
RichTextBoxの改行を認知してく...
-
数値を浮動小数点32bitHEXコー...
-
VBSで特定の文字列が含まれる場...
-
○桁にある数値を取得する VB.N...
-
COLUMN(1:1)の意味を教え...
-
【エクセル】 関数による電子...
-
VB6で配列を文字列に変換する方...
-
エクセル、この関数の意味は?
-
VB 配列の内容をファイルに書...
-
copyRecordsetの数値16桁以上に...
-
列数の多いエクセルのデータを...
-
VB.NET 2つの配列を連動して並...
-
Javaのプログラムをルビー言語に。
-
Win32APIでシリアル通信をする...
-
ruby "\\001\\376".unpack("C*"...
おすすめ情報