How to use select

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()

Could you be so kind to let me know how it works?

···

--
Posted via http://www.ruby-forum.com/.

Daniel Flores wrote:

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 :slight_smile:

Could you be so kind to let me know how it works?

Array.select:
* class Array - RDoc Documentation

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
* module Kernel - RDoc Documentation

"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
--
Posted via http://www.ruby-forum.com/\.

Jason W. wrote:

Daniel Flores wrote:

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()

I'm assuming the other select your talking about is Array.select... if
not say which.

···

They are different :slight_smile:

Could you be so kind to let me know how it works?

--
Posted via http://www.ruby-forum.com/\.

Jason W. wrote:

Jason W. wrote:

Daniel Flores wrote:

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()

I'm assuming the other select your talking about is Array.select... if not say which.

IIUC, Kernel#select is the same as IO.select. I avoid using the former, just to be explicit, in case self happens to have a select method (self is a collection of some kind, for example).