回答編集履歴
1
追記
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
|