ライブラリ
- ビルトイン (12)
-
net
/ telnet (6) - socket (24)
- timeout (21)
クラス
- IO (12)
-
Net
:: Telnet (4) - Socket (24)
モジュール
- Timeout (21)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
NEWS for Ruby 3
. 0 . 0 (5) - Telnet (2)
- new (4)
-
ruby 1
. 6 feature (12) - select (12)
- tcp (24)
検索結果
先頭5件
- Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object - Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object - Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object - Socket
. tcp(host , port , local _ host=nil , local _ port=nil , connect _ timeout: nil) -> Socket - Socket
. tcp(host , port , local _ host=nil , local _ port=nil , connect _ timeout: nil) {|socket| . . . } -> object
-
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (35280.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...c 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはい......require 'timeout'
def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
end
end
t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){
calc_pi(min)
}
rescue Timeout::Error
puts "timeout"
end
printf "%d: pi =......るタイムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
begin
Timeout.timeout(5, MYError) {
sleep(30)
}
rescue MYError => err
puts "MYError"
puts err
end
=== 注意
timeout による割り込みは Thread によって実現さ... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (35280.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...c 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはい......require 'timeout'
def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
end
end
t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){
calc_pi(min)
}
rescue Timeout::Error
puts "timeout"
end
printf "%d: pi =......るタイムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
begin
Timeout.timeout(5, MYError) {
sleep(30)
}
rescue MYError => err
puts "MYError"
puts err
end
=== 注意
timeout による割り込みは Thread によって実現さ... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (35279.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...c 秒の期限付きで実行します。
ブロックの実行時間が制限を過ぎたときは例外
Timeout::Error が発生します。
exception_class を指定した場合には Timeout::Error の代わりに
その例外が発生します。
ブロックパラメータ i は sec がはい......require 'timeout'
def calc_pi(min)
loop do
x = rand
y = rand
x**2 + y**2 < 1.0 ? min[0] += 1 : min[1] += 1
end
end
t = 5
min = [ 0, 0]
begin
Timeout.timeout(t){
calc_pi(min)
}
rescue Timeout::Error
puts "timeout"
end
printf "%d: pi =......るタイムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
begin
Timeout.timeout(5, MYError) {
sleep(30)
}
rescue MYError => err
puts "MYError"
puts err
end
=== 注意
timeout による割り込みは Thread によって実現さ... -
Socket
. tcp(host , port , local _ host=nil , local _ port=nil , connect _ timeout: nil) -> Socket (114.0) -
TCP/IP で host:port に接続するソケットオブジェクトを作成します。
...@param port 接続先のポート番号
@param local_host 接続元のホスト名
@param local_port 接続元のポート番号
@param connect_timeout タイムアウトまでの秒数
@return ブロック付きで呼ばれた場合はブロックが返した値です。
ブロックなし......で呼ばれた場合はソケットオブジェクトを返します。
require 'socket'
Socket.tcp("www.ruby-lang.org", 80) {|sock|
sock.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
sock.close_write
puts sock.read
}... -
Socket
. tcp(host , port , local _ host=nil , local _ port=nil , connect _ timeout: nil) {|socket| . . . } -> object (114.0) -
TCP/IP で host:port に接続するソケットオブジェクトを作成します。
...@param port 接続先のポート番号
@param local_host 接続元のホスト名
@param local_port 接続元のポート番号
@param connect_timeout タイムアウトまでの秒数
@return ブロック付きで呼ばれた場合はブロックが返した値です。
ブロックなし......で呼ばれた場合はソケットオブジェクトを返します。
require 'socket'
Socket.tcp("www.ruby-lang.org", 80) {|sock|
sock.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
sock.close_write
puts sock.read
}... -
IO
. select(reads , writes = [] , excepts = [] , timeout = nil) -> [[IO]] | nil (113.0) -
select(2) を実行します。
...る IO オブジェクトの配列を渡します。
@param excepts 例外待ちする IO オブジェクトの配列を渡します。
@param timeout タイムアウトまでの時間を表す数値または nil を指定します。数値で指定したときの単位は秒です。nil を指定......合に発生します。
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 /ping/
mesg = "pong\n"
when /pong/
mesg = "ping "
end
end
if w = ws[0]
w.write(mes... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (72.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への変更点(まとめ)/サポートプラットフォームの追加>))
...。
((<ruby-dev:14172>))
== 拡張されたクラス/メソッド(互換性のある変更)
=== 組み込み関数
: ((<組み込み関数/sprintf>)) [new]
"%p" が追加されました。inspect の結果が利用されます。((<RCR#69>))
: ((<組み込み関数/trap>)) [compat]
あ......e Twister|URL:http://www.math.keio.ac.jp/~matumoto/mt.html>))
を使用するようになりました。
: ((<組み込み関数/sprintf>))('%u') [compat]
sprintf の '%u' で、最上位ビットの繰り返しをあらわす ".." は、付加
されないようになりました。((<ruby......)
: ((<Timeout/Timeout.timeout>)) [lib] [new]
: ((<Timeout::Error|Timeout/Error>)) [lib] [new]
timeout に Timeout モジュールが定義されました。((<RCR#121>))
関数 ((<timeout/timeout>)) は、モジュール関数 Timeout.timeout の別名に、
例外 ((<TimeoutError>)) は... -
Net
:: Telnet (60.0) -
このクラスは telnet のクライアント機能を提供します。
...てログインし、
Net::Telnet#cmd でコマンドを
実行、最後に IO#close で接続を閉じます。
Net::Telnet#waitfor, Net::Telnet#print,
Net::Telnet#puts, Net::Telnet#write などと
いったメソッドはより複雑なことをする場合にのみ使ってください。
Net::T......"Timeout" => 10)
# ログインし、プロンプトが出るまで待ち合わせる
telnet.login("your name", "your password") {|c| print c}
# ls コマンドを実行し、実行後、プロンプトが出るまで待ち合わせる
telnet.cmd("ls") {|c| print c}
# s......&") {|c| print c}
STDOUT.flush # <- これがないとここまで処理が来てることがわかりにくい
# 前のコマンドの出力を待ち合わせる
telnet.waitfor(/foobar\Z/) {|c| print c}
# ログインセッションの終了
telnet.cmd("exit") {|c| print c}
te... -
ruby 1
. 6 feature (24.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...1.6.7 (2002-07-30) [i586-linux]
: 2002-06-03 sprintf()
"%d" で引数を整数にするときに、((<組み込み関数/Integer>)) と同じ規則を
使用するようになりました。
p sprintf("%d", nil)
=> -:1:in `sprintf': no implicit conversion from nil (TypeError)......1
2
: String#succ
((<ruby-talk:22557>))
p "***".succ
p "*".succ
p sprintf("%c", 255).succ
p sprintf("*%c", 255).succ
p sprintf("**%c", 255).succ
=> ruby 1.6.5 (2001-09-19) [i586-linux]
"**+"
"\001+"......したリゾルバは、timeout の制御が効きます(つまり、名前解
決中にThreadが切替え可能ということです)
require 'resolv'
p Resolv.new.getaddress("www.ruby-lang.org").to_s
=> /usr/local/lib/ruby/1.6/resolv.rb:160: warning: timeout (...) interpreted as me... -
NEWS for Ruby 3
. 0 . 0 (18.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...eadable, IO#wait_writable, IO#read, IO#write and other related methods (e.g. IO#puts, IO#gets) may invoke the scheduler hook `#io_wait(io, events, timeout)` in a non-blocking execution context. 16786
* Kernel
* Kernel#clone when called with the `freeze: false` keyword will call `#initialize_cl......ded.
* Socket
* Add :connect_timeout to TCPSocket.new 17187
* Net::HTTP
* Net::HTTP#verify_hostname= and Net::HTTP#verify_hostname have been added to skip hostname verification. 16555
* Net::HTTP.get, Net::HTTP.get_response, and Net::HTTP.get_print can take the request headers as a......erb
* find
* net-ftp
* net-http
* net-imap
* net-protocol
* open-uri
* optparse
* pp
* prettyprint
* resolv-replace
* resolv
* rinda
* set
* securerandom
* shellwords
* tempfile
* tmpdir
* ti... -
Net
:: Telnet . new(opts) -> Net :: Telnet (18.0) -
Telnet オブジェクトを生成します。
...れぞれ右に示すデフォルト値が適用されます。
"Host" => "localhost"
"Port" => 23
"Prompt" => /[$%#>] \z/n
"Timeout" => 10 # 接続待ちタイムアウト値(sec)
"Waittime" => 0 # Prompt を待ち合わせる時間。この値を nil にしてはい......合には、ホストからの通信
を解釈して telnet の特殊なバイト列をエスケープします。
Net::Telnet#puts や Net::Telnet#print で送られる文字列も
エスケープされます。Net::Telnet#write ではエスケープされません。
Net::Telnet を telnet プロ......ださい。この
値は Net::Telnet#telnetmode でも指定できます。
"Timeout" 接続時やホストからのデータの読み込みを待つときに、
ここで指定した秒数でタイムアウト(TimeoutErrorが発生)します
(Net::Telnet#login、Net::Telnet#waitfor、Net::Telnet... -
Net
:: Telnet . new(opts) {|message| . . . } -> Net :: Telnet (18.0) -
Telnet オブジェクトを生成します。
...れぞれ右に示すデフォルト値が適用されます。
"Host" => "localhost"
"Port" => 23
"Prompt" => /[$%#>] \z/n
"Timeout" => 10 # 接続待ちタイムアウト値(sec)
"Waittime" => 0 # Prompt を待ち合わせる時間。この値を nil にしてはい......合には、ホストからの通信
を解釈して telnet の特殊なバイト列をエスケープします。
Net::Telnet#puts や Net::Telnet#print で送られる文字列も
エスケープされます。Net::Telnet#write ではエスケープされません。
Net::Telnet を telnet プロ......ださい。この
値は Net::Telnet#telnetmode でも指定できます。
"Timeout" 接続時やホストからのデータの読み込みを待つときに、
ここで指定した秒数でタイムアウト(TimeoutErrorが発生)します
(Net::Telnet#login、Net::Telnet#waitfor、Net::Telnet...