るりまサーチ

最速Rubyリファレンスマニュアル検索!
72件ヒット [1-72件を表示] (0.111秒)

別のキーワード

  1. kernel $-l
  2. matrix l
  3. _builtin $-l
  4. lupdecomposition l
  5. l matrix

ライブラリ

クラス

キーワード

検索結果

OptionParser.accept(klass, pat = /.*/) {|str| ...} -> () (18214.0)

オプションの引数を文字列から Ruby のオブジェクトに変換するための ブロックを登録します。すべての OptionParser インスタンスに共通です。

...プションの引数から klass のインスタンスを生成して返すものを指定します。

OptionParser#on で klass を指定した場合、
コマンドラインのオプションに与えられた引数は、この accept で登録したブロックで
klass のインスタンスに...
...れます。

//emlist[][ruby]{
require "optparse"
require "time"

OptionParser.accept(Time) do |s,|
begin
Time.parse(s) if s
rescue
raise OptionParser::InvalidArgument, s
end
end

opts = OptionParser.new

opts.on("-t", "--time [TIME]", Time) do |time|
p time.class #=> Time
end

opts...
...クラスに対しては変換用のブロックがデフォルトで登録されて
います。OptionParser#on を参照して下さい。

@param klass クラスオブジェクトを与えます。

@param pat match メソッドを持ったオブジェクト(Regexp オブジェクトなど)を与...

Socket.accept_loop(sockets) {|sock, client_addrinfo| ...} -> () (12208.0)

sockets でサーバソケットを受け取り、接続を待ち受け、 クライアントとの接続が確立するたびにブロックにその接続 ソケットを渡し呼び出します。

...トオブジェクトと
Addrinfo オブジェクトです。

Socket.tcp_server_loop と同様、ブロックは
逐次的に呼び出されます。つまりブロックか終了するまで
次の接続は accept されません。
並列に通信したい場合は
スレッドのような並列...
...実行機構を使う必要があります。

@param sockets 待ち受けたいサーバソケットの配列

@see Socket.tcp_server_loop, Socket.unix_server_loop...

OpenSSL::SSL::SSLServer.new(svr, ctx) -> OpenSSL::SSL::SSLServer (6213.0)

TCPServer オブジェクトをラップする SSLServer オブジェクトを生成します。

...する SSLServer オブジェクトを生成します。

svr にはラップするTCPServer オブジェクトを、
ctx には SSL サーバが用いる OpenSSL::SSL::SSLContext
オブジェクトを生成します。

OpenSSL::SSL::SSLServer#listen や OpenSSL::SSL::SSLServer#accept
は内部で...
...svr で渡されたオブジェクトの
TCPServer#listen や TCPServer#accept を呼び出します。

@param svr 利用する TCPServer オブジェクト
@param ctx SSL サーバとして用いる OpenSSL::SSL::SSLContext オブジェクト...

Socket.tcp_server_loop(host, port) {|sock,addr| ...} -> () (6113.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。

...を表す Addrinfo オブジェクトが渡されます。

ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。

このメソッドはブロックを逐次的に呼び出します。
つまり...
...度に一つのクライアントした取り扱えない
require 'socket'

Socket.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}

# スレッドを使った echo サーバ
# 同時に複数のクライア...
...socket'

Socket.tcp_server_loop(16807) {|sock, client_addrinfo|
Thread.new {
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
}

内部的には Socket.tcp_server_sockets で
生成したソケットを Socket.accept_loop で処理しています...

Socket.tcp_server_loop(port) {|sock,addr| ...} -> () (6113.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。

...を表す Addrinfo オブジェクトが渡されます。

ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。

このメソッドはブロックを逐次的に呼び出します。
つまり...
...度に一つのクライアントした取り扱えない
require 'socket'

Socket.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}

# スレッドを使った echo サーバ
# 同時に複数のクライア...
...socket'

Socket.tcp_server_loop(16807) {|sock, client_addrinfo|
Thread.new {
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
}

内部的には Socket.tcp_server_sockets で
生成したソケットを Socket.accept_loop で処理しています...

絞り込み条件を変える

OptionParser.reject(klass) -> () (123.0)

OptionParser.accept メソッドで登録したブロックを削除します。

....accept メソッドで登録したブロックを削除します。

@param klass 削除したいクラスオブジェクトを指定します。

//emlist[例][ruby]{
require "optparse"
require "time"

def parse(option_parser)
option_parser.on("-t", "--time [TIME]", Time) do |time|
p time.cl...
...ass
end
option_parser.parse(ARGV)
end

OptionParser.accept(Time) do |s,|
begin
Time.parse(s) if s
rescue
raise OptionParser::InvalidArgument, s
end
end

opts1 = OptionParser.new
parse(opts1) # => Time
OptionParser.reject(Time)
opts2 = OptionParser.new
parse(opts2) # => unsupported...