モジュール
- Kernel (12)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
NEWS for Ruby 2
. 2 . 0 (11) -
NEWS for Ruby 2
. 6 . 0 (7) - TCPServer (12)
-
connect
_ nonblock (12) -
net
/ pop (12) -
rb
_ thread _ select (1) -
ruby 1
. 6 feature (12)
検索結果
先頭5件
-
Kernel
. # select(reads , writes = [] , excepts = [] , timeout = nil) -> [[IO]] | nil (18247.0) -
IO.select と同じです。
...IO.select と同じです。
@param reads IO.select 参照
@param writes IO.select 参照
@param excepts IO.select 参照
@param timeout IO.select 参照
@see IO.select... -
IO
. select(reads , writes = [] , excepts = [] , timeout = nil) -> [[IO]] | nil (18241.0) -
select(2) を実行します。
...
select(2) を実行します。
与えられた入力/出力/例外待ちの IO オブジェクトの中から準備ができたものを
それぞれ配列にして、配列の配列として返します。
タイムアウトした時には nil を返します。
@param reads 入力待ちする......IO オブジェクトの配列を渡します。
@param writes 出力待ちする IO オブジェクトの配列を渡します。
@param excepts 例外待ちする IO オブジェクトの配列を渡します。
@param timeout タイムアウトまでの時間を表す数値または nil を......IO オブジェクトが閉じられていた時に発生します。
@raise Errno::EXXX select(2) に失敗した場合に発生します。
rp, wp = IO.pipe
mesg = "ping "
100.times{
rs, ws, = IO.select([rp], [wp])
if r = rs[0]
ret = r.read(5)
print ret
case ret
when... -
int rb
_ thread _ select(int max , fd _ set *read , fd _ set *write , fd _ set *except , struct timeval *timeout) (6240.0) -
この関数は deprecated です。rb_thread_fd_select を使用してください。
...rb_thread_fd_select を使用してください。
Ruby のスレッドは実装のために内部で select(2) を使っているため、
拡張ライブラリ内で独自に select(2) を使った場合の動作は保証されません。
代わりにこの関数 rb_thread_select を使ってく......ださい。
引数の意味は select(2) と同じです。... -
NEWS for Ruby 2
. 6 . 0 (78.0) -
NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...と値に変換できるようになりました。 15143
* 別名
* Array#filter が Array#select の別名として追加されました。 13784
* Array#filter! が Array#select! の別名として追加されました。 13784
* Binding
* 新規メソッド
* Binding......と値のペアを新しいキーと値に変換できるようになりました。 15143
* 別名
* Enumerable#filter が Enumerable#select の別名として追加されました。 13784
* Enumerator::ArithmeticSequence
* 等差数列(隣接する項が共通の差(公差)を持......* Vector#[]=
* Net::HTTP
* 新規オプション
* :write_timeout キーワード引数が Net::HTTP.new に追加されました。 13396
* 新規メソッド
* Net::HTTP#write_timeout と Net::HTTP#write_timeout= が追加されました。 13396
* 新規定数... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (42.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...: ((<MatchData#captures|MatchData/captures>)) [new]
追加。((<RCR#139>))
: ((<MatchData#select|MatchData/select>)) [new]
((<MatchData>)) は、Enumerable ではありませんが、Enumerable#select
と同じメソッドが定義されました。
=== Math
: ((<Math/Math.erf>)) [new]
:......w]
ruby 1.6 の ((<indexes|Array/indexes>)) は、values_at というメソッド
名になりました(ruby 1.7 では block なし ((<select|Array/select>)) が
indexes の代わりでしたが、こちらも使用すると警告が出ます)。
: ((<Fixnum#to_sym|Fixnum/to_sym>)) [new]
:......りますが、こちらは未修正です。
((<ruby-dev:19299>))
: ((<IO#putc|IO/putc>)) [bug]
出力メソッドのうち putc だけが write メソッドを使用していませんでした。
((<ruby-dev:18038>))
: IO#read, gets ..., etc. [bug]
File::NONBLOCK を指定した IO の... -
net
/ pop (36.0) -
このライブラリは、POP3 (Post Office Protocol version 3) を 用いてPOPサーバからメールを受信する機能を提供するライブラリです。
...else
pop.mails.each_with_index do |m, idx| # 各メッセージにアクセスする
File.open("inbox/#{idx + 1}", 'w') {|f|
f.write m.pop
}
m.delete
end
$stderr.puts "#{pop.mails.size} mails popped."
end
pop.finish......pty?
$stderr.puts 'no mail.'
else
pop.mails.each_with_index do |m, idx|
File.open("inbox/#{idx + 1}", 'w') {|f|
f.write m.pop
}
m.delete
end
$stderr.puts "#{pop.mails.size} mails popped."
end
}
Net::POP3#delete_all を使うと
さ......場合に真を返す
end
Net::POP3.start('pop.example.com', 110,
'Your account', 'Your password') do |pop|
pop.mails.select { |m| need_pop?(m.unique_id) }.each do |m|
do_something(m.pop)
end
end
Net::POPMail#unique_id はメッセージのユニークIDを... -
ruby 1
. 6 feature (30.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...のソケットの問題が1つ解決されたようです。(どのような問題かは
大本のメールがわかりませんでしたが、selectで読み込み可能になったのに
空配列が返されるという問題なのだそうです) ((<ruby-talk:40015>)),
((<ruby-win32:366>)......イプの dup を close_write するとエラーになっていました。
((<ruby-dev:17155>))
open("|-","r+") {|f|
if f
f.dup.close_write
else
sleep 1
end
}
=> ruby 1.6.7 (2002-03-01) [i586-linux]
-:3:in `close_write': closing non-duplex I......2002-03-01) [i586-linux]
"\302\200"
[0]
=> ruby 1.6.7 (2002-05-04) [i586-linux]
"\302\200"
[128]
: 2002-04-11: IO#write
ソケットやパイプに対する EPIPE の検出に失敗することがありました。
((<ruby-dev:16849>))
: 2002-04-11: ((<"cgi/se... -
NEWS for Ruby 2
. 2 . 0 (18.0) -
NEWS for Ruby 2.2.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...インクリメンタルマーキングを導入しました。 10137
* IO
* 改善: Windows上でパイプのための IO#read_nonblock, IO#write_nonblock をサポートしました。
* Kernel
* 追加: Kernel.#itself(Object#itself)
* 改善: Kernel.#throw は、対応する cat......hout_gvl family
* TRAP_BEG -> rb_thread_call_without_gvl family
* TRAP_END -> rb_thread_call_without_gvl family
* rb_thread_select -> rb_thread_fd_select
* struct rb_exec_arg : internal type. no replacement.
* rb_exec : internal function. no replacement.
* rb_exec_arg_addopt... -
TCPServer (18.0)
-
TCP/IP ストリーム型接続のサーバ側のソケットのクラスです。
...gs = TCPServer.open(0)
socks = [gs]
addr = gs.addr
addr.shift
printf("server is on %s\n", addr.join(":"))
while true
nsock = select(socks)
next if nsock == nil
for s in nsock[0]
if s == gs
socks.push(s.accept)
print(s, " is accepted\n")
else......addr = gs.addr
addr.shift
printf("server is on %s\n", addr.join(":"))
while true
Thread.start(gs.accept) do |s| # save to dynamic variable
print(s, " is accepted\n")
while s.gets
s.write($_)
end
print(s, " is gone\n")
s.close
end
end... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (12.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
...nect_nonblock(sockaddr)
rescue IO::WaitWritable
IO.select(nil, [socket]) # wait 3-way handshake completion
begin
socket.connect_nonblock(sockaddr) # check connection failure
rescue Errno::EISCONN
end
end
socket.write("GET / HTTP/1.0\r\n\r\n")
results = socket.read
@p...