teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/06/16 10:19

投稿

otn
otn

スコア86349

answer CHANGED
@@ -5,4 +5,32 @@
5
5
  > 与えられた入力/出力/例外待ちの IO オブジェクトの中から準備ができたものを それぞれ配列にして、配列の配列として返します。 タイムアウトした時には nil を返します。
6
6
 
7
7
  お書きのリンク先とは全く関係ないことが分かるでしょう。
8
- このプログラムの場合だと、入力待ちです。
8
+ このプログラムの場合だと、入力待ちです。
9
+
10
+ #追記:selectの機能
11
+ その1:
12
+ ```Ruby
13
+ input = select([STDIN],nil,nil,5) # 入力がなくても5秒でタイムアウト
14
+ p input
15
+
16
+ if input and input[0][0]
17
+ p input[0][0].gets
18
+ end
19
+ ```
20
+ その1の1:起動5秒以内に、何か入力してEnter
21
+ その1の2:起動後5秒待つ
22
+
23
+ その2:
24
+ ```Ruby
25
+ sleep 5
26
+ puts "select start at #{Time.now}"
27
+ input = select([STDIN]) # 入力がなければ待つ
28
+ puts "select end at #{Time.now}"
29
+ p input
30
+
31
+ if input and input[0][0]
32
+ p input[0][0].gets
33
+ end
34
+ ```
35
+ その2の1:起動5秒以内のSleepの間に、何か入力してEnter
36
+ その2の2:起動5秒以降で、selectが始まってから、何か入力してEnter