Daniel said:
Hello people I have been looking around but i have not been able to run
a succesful select it always failed on me.
i also dont understand if there is a diference between IO.select or just
select()
They are different
Could you be so kind to let me know how it works?
Array.select:
*
http://ruby-doc.org/core/classes/Array.html#M002191
1. arr = [ "one", "two", "three", "four"]
=> ["one", "two", "three", "four"]
2. arr.select{ |s| s == "two" }
=> ["two"]
3. arr.map{ |s| s == "two" }
=> [false, true, false, false]
IO.select:
*
http://ruby-doc.org/docs/ProgrammingRuby/html/ref_m_kernel.html#Kernel.select
*
http://ruby-doc.org/core/classes/Kernel.html#M005958
"Performs a low-level select call, which waits for data to become
available from input/output
devices. The first three parameters are arrays of IO objects or nil. The
last is a timeout in
seconds, which should be an Integer or a Float. The call waits for data
to become available for
any of the IO objects in readArray, for buffers to have cleared
sufficiently to enable writing
to any of the devices in writeArray, or for an error to occur on the
devices in errorArray. If
one or more of these conditions are met, the call returns a
three-element array containing
arrays of the IO objects that were ready. Otherwise, if there is no
change in status for
timeout seconds, the call returns nil. If all parameters are nil, the
current thread sleeps"
forever.select( [$stdin], nil, nil, 1.5 ) » [[#<IO:0x401ba090>], [],
[]]
Read the links they will be useful to you.
~jbw