ライブラリ
クラス
- Addrinfo (9)
- BasicSocket (2)
- CSV (3)
- Date (1)
- Encoding (3)
- File (1)
-
File
:: Stat (1) -
IRB
:: ExtendCommand :: PopWorkspace (1) -
IRB
:: ExtendCommand :: PushWorkspace (1) -
Net
:: FTP (2) - Pathname (1)
- Socket (20)
-
Socket
:: AncillaryData (5) - String (2)
- UNIXServer (6)
- UNIXSocket (11)
- WIN32OLE (2)
モジュール
- FileTest (1)
- FileUtils (1)
- Kernel (9)
- Open3 (2)
-
OpenSSL
:: Random (2) - Process (2)
- Readline (1)
-
Socket
:: Constants (9)
キーワード
-
$ -I (1) -
$ : (1) -
$ LOAD _ PATH (1) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) -
AF
_ LOCAL (2) -
AF
_ UNIX (2) - ENGLAND (1)
-
EUCJP
_ MS (1) -
EUC
_ JP _ MS (1) -
EucJP
_ ms (1) - Fcntl (1)
- NKF (1)
-
PF
_ LOCAL (2) -
PF
_ UNIX (2) - Ruby用語集 (1)
-
SCM
_ CREDENTIALS (2) -
SCM
_ CREDS (2) -
SCM
_ RIGHTS (2) -
SO
_ PASSCRED (2) -
SO
_ PEERCRED (2) -
accept
_ loop (1) -
accept
_ nonblock (1) - addr (1)
- children (1)
-
clock
_ gettime (1) - crypt (1)
- ctime (1)
-
drb
/ gw (1) - egd (1)
-
egd
_ bytes (1) - execute (2)
-
family
_ addrinfo (2) - filter (3)
- ftype (1)
- int (2)
- ip? (1)
- ipv4? (1)
- ipv6? (1)
- listen (1)
- locale (1)
- locale= (1)
- mlsd (2)
- new (7)
- open (7)
-
pack
_ sockaddr _ un (1) - pair (1)
- peeraddr (1)
- popen3 (2)
- ppid (1)
- readline (1)
-
recv
_ io (1) - recvfrom (1)
- recvmsg (1)
-
remove
_ entry _ secure (1) -
ruby 1
. 6 feature (1) -
send
_ io (1) - sendmsg (1)
-
sockaddr
_ un (1) - socket? (1)
- socketpair (1)
- spawn (4)
- sum (1)
- unix? (1)
-
unix
_ path (1) -
unix
_ rights (2) -
unix
_ server _ loop (1) -
unix
_ server _ socket (2) -
unpack
_ sockaddr _ un (1)
検索結果
先頭5件
-
Addrinfo
. unix(path , socktype=Socket :: SOCK _ STREAM) -> Addrinfo (54460.0) -
Unix ソケットアドレスに対応する Addrinfo オブジェクトを返します。
Unix ソケットアドレスに対応する Addrinfo オブジェクトを返します。
socktype でソケットタイプを指定します。
require 'socket'
Addrinfo.unix("/tmp/sock") #=> #<Addrinfo: /tmp/sock SOCK_STREAM>
Addrinfo.unix("/tmp/sock", :DGRAM) #=> #<Addrinfo: /tmp/sock SOCK_DGRAM>
@param path Unix ソケットのアドレス文字列
@param socktype ソケットタイプ(整数、文字... -
Socket
. unix(path) -> Socket (54391.0) -
Unix クライアントソケットを生成します。
Unix クライアントソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
# /tmp/sock と通信する
Socket.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream... -
Socket
. unix(path) {|sock| . . . } -> object (54391.0) -
Unix クライアントソケットを生成します。
Unix クライアントソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
# /tmp/sock と通信する
Socket.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream... -
Socket
:: AncillaryData # unix _ rights -> [IO] | nil (18586.0) -
Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる ファイルディスクリプタを IO オブジェクトの配列として返します。
Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる
ファイルディスクリプタを IO オブジェクトの配列として返します。
得られる IO オブジェクトか IO か Socket です。
この配列は Socket::AncillaryData が初期化されたときに
作られます。例えば BasicSocket#recvmsg を :scm_rights => true
オプションを付けて呼びだし、
SCM_RIGHTS な 制御メッセージを受け取ったときに配列が作られます。
適切なオプションを指定しなかった場合は配列は生成されず、
このメソッドは nil... -
Addrinfo
# unix? -> bool (18442.0) -
アドレスが Unix domain socket のものならば true を返します。
アドレスが Unix domain socket のものならば true を返します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).unix? #=> false
Addrinfo.tcp("::1", 80).unix? #=> false
Addrinfo.unix("/tmp/sock").unix? #=> true
@see Addrinfo#ip? -
Socket
:: AncillaryData . unix _ rights(*ios) -> Socket :: AncillaryData (18442.0) -
ios で指定したファイルのファイルデスクリプタを データとして持つ family=AF_UNIX, level=SOL_SOCKET, type=SCM_RIGHTS という Socket::AncillaryData オブジェクトを生成して返します。
ios で指定したファイルのファイルデスクリプタを
データとして持つ family=AF_UNIX, level=SOL_SOCKET, type=SCM_RIGHTS
という Socket::AncillaryData オブジェクトを生成して返します。
require 'socket'
p Socket::AncillaryData.unix_rights(STDERR)
#=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 2>
@param ios IO オブジェクトの配列
@see Socket::AncillaryData#... -
Addrinfo
# unix _ path -> String (18424.0) -
Unix domain socket の path を文字列で返します。
Unix domain socket の path を文字列で返します。
require 'socket'
Addrinfo.unix("/tmp/sock").unix_path #=> "/tmp/sock"
@raise SocketError アドレスが Unix domain socket のものでない場合に発生します -
Socket
. unix _ server _ socket(path) -> Socket (18409.0) -
Unix サーバソケットを生成します。
Unix サーバソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
socket = Socket.unix_server_socket("/tmp/s")
p socket #=> #<Socket:fd 3>
p socket.local_address #=> #<... -
Socket
. unix _ server _ socket(path) {|sock| . . . } -> object (18409.0) -
Unix サーバソケットを生成します。
Unix サーバソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
socket = Socket.unix_server_socket("/tmp/s")
p socket #=> #<Socket:fd 3>
p socket.local_address #=> #<... -
Socket
. unix _ server _ loop(path) {|socket , client _ addrinfo| . . . } -> () (18370.0) -
Unix サーバソケットを生成し、 新しい接続を受け入れるごとにブロックを呼び出します。
Unix サーバソケットを生成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。
path という名前のファイルが既に存在するときは、
そのファイルのオーナである場合は先にそのファイルを削除してしまいます。
これは path が悪意あるユーザによって変更されない場合に限りは安全です。
つまり、 /tmp/malicious-us... -
UNIXSocket
. pair(type=Socket :: SOCK _ STREAM , protocol=0) -> [UNIXSocket , UNIXSocket] (9703.0) -
相互に結合された UNIX ソケットのペアを含む2要素の配列を返します。
相互に結合された UNIX ソケットのペアを含む2要素の配列を返します。
type にはソケットタイプを指定します。
Socket::SOCK_STREAM, Socket::SOCK_DGRAM, Socket::SOCK_RAW などの
整数、:STREAM, :DGRAM, :RAW などのシンボル、
"STREAM" などの文字列が渡せます。
protocol には プロトコルを指定します。0 は Unix domain でのデフォルト値が
使われます。
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send "a", ... -
UNIXSocket
. socketpair(type=Socket :: SOCK _ STREAM , protocol=0) -> [UNIXSocket , UNIXSocket] (9703.0) -
相互に結合された UNIX ソケットのペアを含む2要素の配列を返します。
相互に結合された UNIX ソケットのペアを含む2要素の配列を返します。
type にはソケットタイプを指定します。
Socket::SOCK_STREAM, Socket::SOCK_DGRAM, Socket::SOCK_RAW などの
整数、:STREAM, :DGRAM, :RAW などのシンボル、
"STREAM" などの文字列が渡せます。
protocol には プロトコルを指定します。0 は Unix domain でのデフォルト値が
使われます。
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send "a", ... -
Socket
:: AF _ UNIX -> Integer (9391.0) -
Unix domain socket。 Socket.open の第一引数 domain に使用します。
Unix domain socket。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), unix(7linux) -
Socket
:: Constants :: AF _ UNIX -> Integer (9391.0) -
Unix domain socket。 Socket.open の第一引数 domain に使用します。
Unix domain socket。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), unix(7linux) -
Socket
:: Constants :: PF _ UNIX -> Integer (9391.0) -
Unix domain socket。 Socket.open の第一引数 domain に使用します。
Unix domain socket。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), unix(7linux) -
Socket
:: PF _ UNIX -> Integer (9391.0) -
Unix domain socket。 Socket.open の第一引数 domain に使用します。
Unix domain socket。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), unix(7linux) -
UNIXServer
# accept _ nonblock -> UnixSocket (9319.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
accept(2) を呼び出します。
接続した
UNIXSocket のインスタンスを返します。
accept(2) がエラーになった場合、Socket#accept と同じ例外が
発生します。
Errno::EWOULDBLOCK, Errno::EAGAIN,
Errno::ECONNABORTED, Errno::EPROTO のいずれかの例外が
発生した場合は、その例外には IO::WaitReadable が extend
されます。それを利用してリトライ可能な例外を掴まえることができます。
require 'socket... -
UNIXServer
. new(path) -> UNIXServer (9319.0) -
path で指定したパス名を用いて接続を受け付けるソケット を作成します。
path で指定したパス名を用いて接続を受け付けるソケット
を作成します。
ブロックを省略すると作成したサーバソケットを返します。
ブロックを渡した場合は、作成したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続を受け付けるパス名文字列
require 'socket'
serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read -
UNIXServer
. open(path) -> UNIXServer (9319.0) -
path で指定したパス名を用いて接続を受け付けるソケット を作成します。
path で指定したパス名を用いて接続を受け付けるソケット
を作成します。
ブロックを省略すると作成したサーバソケットを返します。
ブロックを渡した場合は、作成したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続を受け付けるパス名文字列
require 'socket'
serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read -
UNIXSocket
. new(path) -> UNIXSocket (9319.0) -
path で指定したパス名を用いてソケットを接続します。
path で指定したパス名を用いてソケットを接続します。
ブロックを省略すると接続したソケットを返します。
ブロックを渡した場合は、接続したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続先のパス名文字列
require 'socket'
s = UNIXSocket.new("/tmp/sock")
s.send("hello", 0) -
UNIXSocket
. open(path) -> UNIXSocket (9319.0) -
path で指定したパス名を用いてソケットを接続します。
path で指定したパス名を用いてソケットを接続します。
ブロックを省略すると接続したソケットを返します。
ブロックを渡した場合は、接続したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続先のパス名文字列
require 'socket'
s = UNIXSocket.new("/tmp/sock")
s.send("hello", 0) -
UNIXSocket
# addr -> [String , String] (9121.0) -
ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_UNIX"、第2要素がパスを表す文字列です。
ソケットの接続情報を表す配列を返します。配列の各要素は第1要
素が文字列 "AF_UNIX"、第2要素がパスを表す文字列です。
クライアント側はパスを持たないため空文字列となります。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
p serv.addr #=> ["AF_UNIX", "/tmp/s"]
}
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
p c.peeraddr #=> [... -
UNIXSocket
# peeraddr -> [String , String] (9103.0) -
接続相手先ソケットの情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_UNIX"、第2要素がパスを表す文字列です。
接続相手先ソケットの情報を表す配列を返します。配列の各要素は第1要
素が文字列 "AF_UNIX"、第2要素がパスを表す文字列です。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
p c.peeraddr #=> ["AF_UNIX", "/tmp/s"]
p c.addr #=> ["AF_UNIX", ""]
}
@see UNIXSocket#addr -
UNIXSocket
# recv _ io(klass=IO , mode=nil) -> Integer|IO|object (9037.0) -
ソケットの接続先からファイルディスクリプタを受け取ります。
ソケットの接続先からファイルディスクリプタを受け取ります。
klass が nil の場合、ファイルディスクリプタが Integer として
返されます。
klass が nil でない場合、
klass.for_fd(fd[, mode]) が呼ばれ、その値が返されます。
例:
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send_io STDOUT
io = s2.recv_io
p File.identical?(io, STDOUT) #=> true
@param klass 受け取ったファイルデ... -
UNIXSocket
# recvfrom(maxlen , flags = 0) -> [String [String , String]] (9037.0) -
recvfrom(2) を用いてソケットからメッセージを受け取ります。
recvfrom(2) を用いてソケットからメッセージを受け取ります。
maxlen で受け取るメッセージの最大長をバイト数で指定します。
flags には Socket::MSG_* という名前の定数の bitwise OR を渡します。
戻り値は文字列と相手ソケットのパスのペアです。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
s = serv.accept
s.send "a", 0
p c.recvfrom(10... -
UNIXServer
# listen(backlog) -> 0 (9019.0) -
listen(2) を実行します。 (Socket#listenと同じ)
listen(2) を実行します。
(Socket#listenと同じ)
backlog は、クライアントからの接続要求を保留できる数です。
listen(2) が成功すれば 0 を返します。
失敗すれば 例外 Errno::EXXX が発生します。
@param backlog バックログの最大数(接続要求を保留できる数) -
UNIXServer
. new(path) {|sock| . . . } -> object (9019.0) -
path で指定したパス名を用いて接続を受け付けるソケット を作成します。
path で指定したパス名を用いて接続を受け付けるソケット
を作成します。
ブロックを省略すると作成したサーバソケットを返します。
ブロックを渡した場合は、作成したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続を受け付けるパス名文字列
require 'socket'
serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read -
UNIXServer
. open(path) {|sock| . . . } -> object (9019.0) -
path で指定したパス名を用いて接続を受け付けるソケット を作成します。
path で指定したパス名を用いて接続を受け付けるソケット
を作成します。
ブロックを省略すると作成したサーバソケットを返します。
ブロックを渡した場合は、作成したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続を受け付けるパス名文字列
require 'socket'
serv = UNIXServer.new("/tmp/sock")
s = serv.accept
p s.read -
UNIXSocket
# send _ io(io) -> nil (9019.0) -
引数 io に対応するファイルディスクリプタをソケットの接続先に送ります。
引数 io に対応するファイルディスクリプタをソケットの接続先に送ります。
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send_io STDOUT
stdout = s2.recv_io
p STDOUT.fileno #=> 1
p stdout.fileno #=> 6
stdout.puts "hello" # outputs "hello\n" to standard output.
@param io 送るファイルディスクリプタ(整数 or IOオブジェクト) -
UNIXSocket
. new(path) {|sock| . . . } -> object (9019.0) -
path で指定したパス名を用いてソケットを接続します。
path で指定したパス名を用いてソケットを接続します。
ブロックを省略すると接続したソケットを返します。
ブロックを渡した場合は、接続したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続先のパス名文字列
require 'socket'
s = UNIXSocket.new("/tmp/sock")
s.send("hello", 0) -
UNIXSocket
. open(path) {|sock| . . . } -> object (9019.0) -
path で指定したパス名を用いてソケットを接続します。
path で指定したパス名を用いてソケットを接続します。
ブロックを省略すると接続したソケットを返します。
ブロックを渡した場合は、接続したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続先のパス名文字列
require 'socket'
s = UNIXSocket.new("/tmp/sock")
s.send("hello", 0) -
Net
:: FTP # mlsd(pathname = nil) -> [Net :: FTP :: MLSxEntry] (235.0) -
pathname で指定したディレクトリに含まれているファイルの詳細な情報を得ます。
pathname で指定したディレクトリに含まれているファイルの詳細な情報を得ます。
ディレクトリの各ファイルの情報が
Net::FTP::MLSxEntry のオブジェクトの配列として得られます。
どのような情報を取り出せるかは Net::FTP::MLSxEntry
を参照してください。
Net::FTP#list は
結果が文字列で得られるため、それを適当に解釈する必要がありますが、
このコマンドの結果は適切に解釈された結果を直接得ることができます。
pathname を省略した場合はカレントディレクトリを指定したことになります。
ブロックを渡した場合にはディレクトリの各ファイル... -
Net
:: FTP # mlsd(pathname = nil) {|entry| . . . } -> () (235.0) -
pathname で指定したディレクトリに含まれているファイルの詳細な情報を得ます。
pathname で指定したディレクトリに含まれているファイルの詳細な情報を得ます。
ディレクトリの各ファイルの情報が
Net::FTP::MLSxEntry のオブジェクトの配列として得られます。
どのような情報を取り出せるかは Net::FTP::MLSxEntry
を参照してください。
Net::FTP#list は
結果が文字列で得られるため、それを適当に解釈する必要がありますが、
このコマンドの結果は適切に解釈された結果を直接得ることができます。
pathname を省略した場合はカレントディレクトリを指定したことになります。
ブロックを渡した場合にはディレクトリの各ファイル... -
ruby 1
. 6 feature (199.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま... -
Kernel
. # spawn(env , program , *args , options={}) -> Integer (163.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
env に Hash を渡すことで、exec(2) で子プロセス内で
ファイルを実行する前に環境変数を変更することができます。
Hash のキーは環境変数名文字列、Hash の値に設定する値とします。
nil とすることで環境変数が削除(unsetenv(3))されます。
//emlist[例][ruby]{
# FOO を BAR にして BAZ を削除する
pid = spawn({"FOO"=>"BAR", "BAZ"=>nil}, command)
//... -
Kernel
. # spawn(program , *args) -> Integer (163.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
env に Hash を渡すことで、exec(2) で子プロセス内で
ファイルを実行する前に環境変数を変更することができます。
Hash のキーは環境変数名文字列、Hash の値に設定する値とします。
nil とすることで環境変数が削除(unsetenv(3))されます。
//emlist[例][ruby]{
# FOO を BAR にして BAZ を削除する
pid = spawn({"FOO"=>"BAR", "BAZ"=>nil}, command)
//... -
Socket
:: AncillaryData . new(family , cmsg _ level , cmsg _ type , cmsg _ data) -> Socket :: AncillaryData (163.0) -
新たな Socket::AncillaryData オブジェクトを生成します。
新たな Socket::AncillaryData オブジェクトを生成します。
family はソケットファミリーを指定します。
整数、文字列、シンボルを渡します。
* Socket::AF_INET, "AF_INET", "INET", :AF_INET, :INET
* Socket::AF_UNIX, "AF_UNIX", "UNIX", :AF_UNIX, :UNIX
* など
cmsg_level にはメッセージの元となるプロトコルを指定します。
整数、文字列、シンボルを渡します。
* Socket::SOL_SOCKET, "SOL_SOCKET", "SOCKET... -
Kernel
. # spawn(command , options={}) -> Integer (133.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
=== 引数の解釈
この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。
@param command コマンドを文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash... -
Kernel
. # spawn(env , command , options={}) -> Integer (133.0) -
引数を外部コマンドとして実行しますが、生成した 子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
引数を外部コマンドとして実行しますが、生成した
子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。
=== 引数の解釈
この形式では command が shell のメタ文字
//emlist{
* ? {} [] <> () ~ & | \ $ ; ' ` " \n
//}
を含む場合、shell 経由で実行されます。
そうでなければインタプリタから直接実行されます。
@param command コマンドを文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash... -
Addrinfo
. new(sockaddr , family=Socket :: PF _ UNSPEC , socktype=0 , protocol=0) -> Addrinfo (127.0) -
新たな Addrinfo オブジェクトを返します。
新たな Addrinfo オブジェクトを返します。
sockaddr は connect(2) などで使われるパラメータで、
struct sockaddr に対応します。faimily, socktype, protocol
は socket(2) のパラメータに対応します。
sockaddr には文字列もしくは配列を指定します。
配列の場合は IPSocket#addr や UNIXSocket#addr の
値と互換でなければなりません。
文字列の場合は Socket.sockaddr_in や
Socket.unpack_sockaddr_un で得られるようなものでなければ
な... -
Kernel
. # open(file , mode _ enc = "r" , perm = 0666) -> IO (127.0) -
file をオープンして、IO(Fileを含む)クラスのインスタンスを返します。
file をオープンして、IO(Fileを含む)クラスのインスタンスを返します。
ブロックが与えられた場合、指定されたファイルをオープンし、
生成した IO オブジェクトを引数としてブロックを実行します。
ブロックの終了時や例外によりブロックを脱出するとき、
ファイルをクローズします。ブロックを評価した結果を返します。
ファイル名 file が `|' で始まる時には続く文字列をコマンドとして起動し、
コマンドの標準入出力に対してパイプラインを生成します
ファイル名が "|-" である時、open は Ruby の子プロセス
を生成し、その子プロセスとの間のパイプ(IOオブジェクト)を... -
Kernel
. # open(file , mode _ enc = "r" , perm = 0666) {|io| . . . } -> object (127.0) -
file をオープンして、IO(Fileを含む)クラスのインスタンスを返します。
file をオープンして、IO(Fileを含む)クラスのインスタンスを返します。
ブロックが与えられた場合、指定されたファイルをオープンし、
生成した IO オブジェクトを引数としてブロックを実行します。
ブロックの終了時や例外によりブロックを脱出するとき、
ファイルをクローズします。ブロックを評価した結果を返します。
ファイル名 file が `|' で始まる時には続く文字列をコマンドとして起動し、
コマンドの標準入出力に対してパイプラインを生成します
ファイル名が "|-" である時、open は Ruby の子プロセス
を生成し、その子プロセスとの間のパイプ(IOオブジェクト)を... -
Socket
:: AncillaryData . int(family , cmsg _ level , cmsg _ type , integer) -> Socket :: AncillaryData (127.0) -
データとして整数を保持する Socket::AncillaryData オブジェクトを生成します。
データとして整数を保持する
Socket::AncillaryData オブジェクトを生成します。
整数データのサイズおよびエンディアンは実行するホストによって異なります。
require 'socket'
p Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, STDERR.fileno)
#=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 2>
@param family ソケットファミリー
@param cmsg_level プロトコル
@param cmsg_type 補... -
drb
/ gw (127.0) -
drb 通信を中継するゲートウェイ(DRb::GW)と、 中継に必要なオブジェクト識別子変換クラス(DRb::GWIdConv)、 および DRb::DRbObject への拡張が含まれています。
drb 通信を中継するゲートウェイ(DRb::GW)と、
中継に必要なオブジェクト識別子変換クラス(DRb::GWIdConv)、
および DRb::DRbObject への拡張が含まれています。
このライブラリを利用することで直接通信することが不可能であるような
2つのプロセスが中継プロセスを経て drb によりやりとりできるようになります。
drb による通信とは、オブジェクトをプロセス間でやりとりすること、
およびそのメソッドを呼び出すことです。
中継プロセスが保持している DRb::GW オブジェクトに
それ以外のプロセスがオブジェクトを登録したり、登録済みの
オブジェクトを取り出... -
CSV
. filter(input , options = Hash . new) {|row| . . . } (121.0) -
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築 するのに便利です。
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築
するのに便利です。
与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評価後に行を全て output に書き込
みます。
@param input String か IO のインスタンスを指定します。
デフォルトは ARGF です。
@param output String か IO のインスタンスを指定します。
デフォルトは $stdout です。
@param options ":in... -
CSV
. filter(input , output , options = Hash . new) {|row| . . . } (121.0) -
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築 するのに便利です。
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築
するのに便利です。
与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評価後に行を全て output に書き込
みます。
@param input String か IO のインスタンスを指定します。
デフォルトは ARGF です。
@param output String か IO のインスタンスを指定します。
デフォルトは $stdout です。
@param options ":in... -
CSV
. filter(options = Hash . new) {|row| . . . } (121.0) -
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築 するのに便利です。
このメソッドは CSV データに対して Unix のツール群のようなフィルタを構築
するのに便利です。
与えられたブロックに一行ずつ渡されます。ブロックに渡された行は必要であ
れば変更することができます。ブロックの評価後に行を全て output に書き込
みます。
@param input String か IO のインスタンスを指定します。
デフォルトは ARGF です。
@param output String か IO のインスタンスを指定します。
デフォルトは $stdout です。
@param options ":in... -
Readline
. # readline(prompt = "" , add _ hist = false) -> String | nil (121.0) -
prompt を出力し、ユーザからのキー入力を待ちます。 エンターキーの押下などでユーザが文字列を入力し終えると、 入力した文字列を返します。 このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。 何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、 ユーザからの入力がない場合は nil を返します。
prompt を出力し、ユーザからのキー入力を待ちます。
エンターキーの押下などでユーザが文字列を入力し終えると、
入力した文字列を返します。
このとき、add_hist が true であれば、入力した文字列を入力履歴に追加します。
何も入力していない状態で EOF(UNIX では ^D) を入力するなどで、
ユーザからの入力がない場合は nil を返します。
本メソッドはスレッドに対応しています。
入力待ち状態のときはスレッドコンテキストの切替えが発生します。
入力時には行内編集が可能で、vi モードと Emacs モードが用意されています。
デフォルトは Emacs モードです。
... -
BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (109.0) -
recvmsg(2) を用いてメッセージを受け取ります。
recvmsg(2) を用いてメッセージを受け取ります。
このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#recvmsg_nonblock を用います。
maxmesglen, maxcontrollen で受け取るメッセージおよび補助データ
(Socket::AncillaryData)の最大長をバイト単位で指定します。
省略した場合は必要なだけ内部バッファを拡大して
データが切れないようにします。
flags では Socket::MSG_* という名前の定数の biwsise OR を取った
ものを渡します。
opts にはその他... -
BasicSocket
# sendmsg(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (109.0) -
sendmsg(2) を用いてメッセージを送ります。
sendmsg(2) を用いてメッセージを送ります。
このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#sendmsg_nonblock を用います。
ソケットが connection-less の場合は dest_sockaddr で
通信先のアドレスを指定しなければなりません。Socket.sockaddr_in
の返り値や Addrinfo オブジェクトを引数として渡すことができます。
controls には 補助データ(ancillary data)を渡します。
Socket::AncillaryData のインスタンスや
3要素(c... -
Process
. # clock _ gettime(clock _ id , unit=:float _ second) -> Float | Integer (109.0) -
POSIX の clock_gettime() 関数の時間を返します。
POSIX の clock_gettime() 関数の時間を返します。
例:
p Process.clock_gettime(Process::CLOCK_MONOTONIC) #=> 896053.968060096
@param clock_id クロックの種類を以下の定数のいずれかで指定します。
サポートされている定数は OS やバージョンに依存します。
: Process::CLOCK_REALTIME
SUSv2 to 4, Linux 2.5.63, FreeBSD 3.0, NetBSD 2.0, OpenBSD 2.1, macOS... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (91.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への変更点(まとめ)/サポートプラットフォームの追加>))
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への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
Addrinfo
# family _ addrinfo(host , port) -> Addrinfo (91.0) -
引数から自身に「似た」Addrinfo オブジェクトを生成します。
引数から自身に「似た」Addrinfo オブジェクトを生成します。
「似た」の意味はプロトコルファミリ、ソケットタイプ、プロトコルが
同じことを意味します。
require 'socket'
Addrinfo.tcp("0.0.0.0", 4649).family_addrinfo("www.ruby-lang.org", 80)
#=> #<Addrinfo: 221.186.184.68:80 TCP (www.ruby-lang.org:80)>
Addrinfo.unix("/tmp/sock").family_addrinfo("/tmp/sock2")... -
Addrinfo
# family _ addrinfo(path) -> Addrinfo (91.0) -
引数から自身に「似た」Addrinfo オブジェクトを生成します。
引数から自身に「似た」Addrinfo オブジェクトを生成します。
「似た」の意味はプロトコルファミリ、ソケットタイプ、プロトコルが
同じことを意味します。
require 'socket'
Addrinfo.tcp("0.0.0.0", 4649).family_addrinfo("www.ruby-lang.org", 80)
#=> #<Addrinfo: 221.186.184.68:80 TCP (www.ruby-lang.org:80)>
Addrinfo.unix("/tmp/sock").family_addrinfo("/tmp/sock2")... -
OpenSSL
:: Random . # egd _ bytes(filename , length) -> true (91.0) -
EGD(Entropy Gathering Daemon) から length バイト分のエントロピーを得ます。
EGD(Entropy Gathering Daemon) から length バイト分のエントロピーを得ます。
filename で指定した Unix domain socket から EGD に問い合わせ、
指定した大きさのエントロピーを乱数生成器に追加します。
@param filename EGD のソケットのファイル名
@param length 読み込むバイト数
@raise OpenSSL::Random::RandomError
@raise OpenSSL::Random::RandomError -
Socket
:: AF _ LOCAL -> Integer (91.0) -
Unix domain socket。 Socket.open の第一引数 domain に使用します。
Unix domain socket。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), unix(7linux) -
Socket
:: Constants :: AF _ LOCAL -> Integer (91.0) -
Unix domain socket。 Socket.open の第一引数 domain に使用します。
Unix domain socket。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), unix(7linux) -
Socket
:: Constants :: PF _ LOCAL -> Integer (91.0) -
Unix domain socket。 Socket.open の第一引数 domain に使用します。
Unix domain socket。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), unix(7linux) -
Socket
:: PF _ LOCAL -> Integer (91.0) -
Unix domain socket。 Socket.open の第一引数 domain に使用します。
Unix domain socket。
Socket.open の第一引数 domain に使用します。
@see sys/socket.h(header), unix(7linux) -
Open3
. # popen3(*cmd) -> [IO , IO , IO , Thread] (73.0) -
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー 出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の 配列で返します。
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー
出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の
配列で返します。
require 'open3'
stdin, stdout, stderr, wait_thr = *Open3.popen3("/usr/bin/nroff -man")
@param cmd 実行するコマンドを指定します。
@return ブロックを指定した場合はブロックの最後に評価された値を返します。
ブロックを指定しなかった場合は標準入力、標準出力、標準エラー出
力と... -
Open3
. # popen3(*cmd) {|stdin , stdout , stderr , wait _ thr| . . . } -> () (73.0) -
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー 出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の 配列で返します。
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー
出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の
配列で返します。
require 'open3'
stdin, stdout, stderr, wait_thr = *Open3.popen3("/usr/bin/nroff -man")
@param cmd 実行するコマンドを指定します。
@return ブロックを指定した場合はブロックの最後に評価された値を返します。
ブロックを指定しなかった場合は標準入力、標準出力、標準エラー出
力と... -
Pathname
# children(with _ directory = true) -> [Pathname] (73.0) -
self 配下にあるパス名(Pathnameオブジェクト)の配列を返します。
self 配下にあるパス名(Pathnameオブジェクト)の配列を返します。
ただし、 ".", ".." は要素に含まれません。
@param with_directory 偽を指定するとファイル名のみ返します。デフォルトは真です。
@raise Errno::EXXX self が存在しないパスであったりディレクトリでなければ例外が発生します。
//emlist[例][ruby]{
require 'pathname'
Pathname.new("/tmp").children # => [#<Pathname:.X11-unix>, #<Pathname:.iroha_unix>... -
Ruby用語集 (73.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
Ruby用語集
A B C D E F G I J M N O R S Y
a ka sa ta na ha ma ya ra wa
=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。
参照:d:spec/literal#percent
: 0 オリジン
: zero-based
番号が 0 から始まること。
例えば、
Array や Vector、Matrix などの要素の番号、
String における文字の位置、
といったものは 0 オリジンである。
: 1 オリジン
: one-based
... -
Socket
. new(domain , type , protocol=0) -> Socket (73.0) -
新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定しま す。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文 字列ですべての機能を指定できる保証はありません。
新しいソケットを生成します。domain、type、
protocol はインクルードファイルにある定数で指定しま
す。ほとんどの定数は Socket::AF_INET のように
Socket クラスの定数として定義されています。domain
とtype に関しては、"AF_INET",
"SOCK_STREAM" のように文字列でも指定できますが、文
字列ですべての機能を指定できる保証はありません。
例えば、IPv4 の TCP ソケットは以下のように生成されます。
require 'socket'
s = Socket.new(Socket::AF_INET, Socket... -
Socket
. open(domain , type , protocol=0) -> Socket (73.0) -
新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定しま す。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文 字列ですべての機能を指定できる保証はありません。
新しいソケットを生成します。domain、type、
protocol はインクルードファイルにある定数で指定しま
す。ほとんどの定数は Socket::AF_INET のように
Socket クラスの定数として定義されています。domain
とtype に関しては、"AF_INET",
"SOCK_STREAM" のように文字列でも指定できますが、文
字列ですべての機能を指定できる保証はありません。
例えば、IPv4 の TCP ソケットは以下のように生成されます。
require 'socket'
s = Socket.new(Socket::AF_INET, Socket... -
Socket
:: Constants :: SCM _ RIGHTS -> Integer (73.0) -
Access rights.
Access rights.
Socket::AncillaryData の type として利用します。
@see Socket::AncillaryData, Socket::AncillaryData#unix_rights
BasicSocket#sendmsg, BasicSocket#recvmsg,
unix(7linux), unix(4freebsd),
sys/socket.h(header) -
Socket
:: SCM _ RIGHTS -> Integer (73.0) -
Access rights.
Access rights.
Socket::AncillaryData の type として利用します。
@see Socket::AncillaryData, Socket::AncillaryData#unix_rights
BasicSocket#sendmsg, BasicSocket#recvmsg,
unix(7linux), unix(4freebsd),
sys/socket.h(header) -
Date
:: ENGLAND -> Integer (67.0) -
英国がグレゴリオ暦をつかい始めた日 (1752年9月14日) をあらわすユリウス日です。 この "ENGLAND" の名前は、旧い UNIX の cal(1) の記述に由来します。
英国がグレゴリオ暦をつかい始めた日 (1752年9月14日) をあらわすユリウス日です。
この "ENGLAND" の名前は、旧い UNIX の cal(1) の記述に由来します。
@see https://www.bell-labs.com/usr/dmr/www/pdfs/man61.pdf
ちなみに、本実装で英国の改暦日を尊重する姿勢がみられるのは前実装からの影響です。
前実装が英国の改暦日を尊重していたのは、おそらく cal(1) の影響です。
もっとも本実装で一番に尊重されているのは、伊国の改暦日であり、多くの場合、
改暦日の既定値は Date::ITALY です。 -
Encoding
:: EUCJP _ MS -> Encoding (67.0) -
eucJP-ms、Unix 系で用いられる、日本語 EUC 亜種です。
eucJP-ms、Unix 系で用いられる、日本語 EUC 亜種です。
EUC-JPに加え、Windowsの機種依存文字とユーザ定義文字を扱うことができます。
@see http://www2d.biglobe.ne.jp/~msyk/charcode/cp932/eucJP-ms.html,
http://legacy-encoding.osdn.jp/wiki/index.php?eucJP-ms,
http://blog.livedoor.jp/numa2666/archives/50980727.html -
Encoding
:: EUC _ JP _ MS -> Encoding (67.0) -
eucJP-ms、Unix 系で用いられる、日本語 EUC 亜種です。
eucJP-ms、Unix 系で用いられる、日本語 EUC 亜種です。
EUC-JPに加え、Windowsの機種依存文字とユーザ定義文字を扱うことができます。
@see http://www2d.biglobe.ne.jp/~msyk/charcode/cp932/eucJP-ms.html,
http://legacy-encoding.osdn.jp/wiki/index.php?eucJP-ms,
http://blog.livedoor.jp/numa2666/archives/50980727.html -
Encoding
:: EucJP _ ms -> Encoding (67.0) -
eucJP-ms、Unix 系で用いられる、日本語 EUC 亜種です。
eucJP-ms、Unix 系で用いられる、日本語 EUC 亜種です。
EUC-JPに加え、Windowsの機種依存文字とユーザ定義文字を扱うことができます。
@see http://www2d.biglobe.ne.jp/~msyk/charcode/cp932/eucJP-ms.html,
http://legacy-encoding.osdn.jp/wiki/index.php?eucJP-ms,
http://blog.livedoor.jp/numa2666/archives/50980727.html -
Fcntl (67.0)
-
ファイルディスクリプタを扱う Unix のシステムコール IO#fcntl (つまりfcntl(2)) で使用できる定数を集めたモジュールです。
ファイルディスクリプタを扱う Unix のシステムコール IO#fcntl
(つまりfcntl(2)) で使用できる定数を集めたモジュールです。
@see fcntl(2), open(2), IO#fcntl, IO.open -
File
:: Stat # ctime -> Time (67.0) -
最終状態変更時刻を返します。 (状態の変更とは chmod などによるもので、Unix では i-node の変更を意味します)
最終状態変更時刻を返します。
(状態の変更とは chmod などによるもので、Unix では i-node の変更を意味します)
//emlist[][ruby]{
fs = File::Stat.new($0)
#例
p fs.ctime.to_f #=> 1188719843.0
//}
@see Time -
IRB
:: ExtendCommand :: PopWorkspace # execute(*obj) -> [IRB :: WorkSpace] (67.0) -
UNIX シェルコマンドの popd と同じです。
UNIX シェルコマンドの popd と同じです。
@param obj 使用しません。 -
IRB
:: ExtendCommand :: PushWorkspace # execute(*obj) -> [IRB :: WorkSpace] (67.0) -
UNIX シェルコマンドの pushd と同じです。
UNIX シェルコマンドの pushd と同じです。
@param obj IRB::WorkSpace オブジェクトを指定します。複数指定した
場合は先頭のオブジェクトのみが設定されます。 -
Process
. # ppid -> Integer (67.0) -
親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終 了した後は ppid は 1 (initの pid)になります。
親プロセスのプロセス ID を返します。UNIX では実際の親プロセスが終
了した後は ppid は 1 (initの pid)になります。
@see getppid(2) -
Addrinfo
# ip? -> bool (55.0) -
アドレスが IP (v4/v6) のものならば true を返します。
アドレスが IP (v4/v6) のものならば true を返します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ip? #=> true
Addrinfo.tcp("::1", 80).ip? #=> true
Addrinfo.unix("/tmp/sock").ip? #=> false
@see Addrinfo#ipv4?, Addrinfo#ipv6?, Addrinfo#unix? -
File
. ftype(filename) -> String (55.0) -
ファイルのタイプを表す文字列を返します。
ファイルのタイプを表す文字列を返します。
文字列は以下のうちのいずれかです。File.lstat(filename).ftype と同じです。
シンボリックリンクに対して "link" を返します。
* "file"
* "directory"
* "characterSpecial"
* "blockSpecial"
* "fifo"
* "link"
* "socket"
* "unknown"
@param filename ファイル名を表す文字列を指定します。
@raise Errno::EXXX 情報の取得に失敗した場合に発生します。
//emlist[... -
FileTest
. # socket?(file) -> bool (55.0) -
ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例][ruby]{
require "socket"
IO.write("testfile", "test")
p FileTest.socket?("testfile") ... -
FileUtils
. # remove _ entry _ secure(path , force = false) -> () (55.0) -
ファイル path を削除します。path がディレクトリなら再帰的に削除します。
ファイル path を削除します。path がディレクトリなら再帰的に削除します。
FileUtils.#rm_r および FileUtils.#remove_entry には
TOCTTOU (time-of-check to time-of-use)脆弱性が存在します。
このメソッドはそれを防ぐために新設されました。
FileUtils.#rm_r および FileUtils.#remove_entry は以下の条件が
満たされるときにはセキュリティホールになりえます。
* 親ディレクトリが全ユーザから書き込み可能 (/tmp を含む)
* path 以下のいずれかのディレク... -
Kernel
$ $ -I -> [String] (55.0) -
Rubyライブラリをロードするときの検索パスです。
Rubyライブラリをロードするときの検索パスです。
Kernel.#load や Kernel.#require
がファイルをロードする時に検索するディレクトリのリストを含む配列です。
起動時にはコマンドラインオプション -I で指定したディレクトリ、
環境変数 RUBYLIB の値、
コンパイル時に指定したデフォルト値
をこの順番で含みます。
以下に典型的な UNIX システム上でのロードパスを示します。
-I で指定したパス
環境変数 RUBYLIB の値
/usr/local/lib/ruby/site_ruby/VERSION サイト固有、バージョン依... -
Kernel
$ $ : -> [String] (55.0) -
Rubyライブラリをロードするときの検索パスです。
Rubyライブラリをロードするときの検索パスです。
Kernel.#load や Kernel.#require
がファイルをロードする時に検索するディレクトリのリストを含む配列です。
起動時にはコマンドラインオプション -I で指定したディレクトリ、
環境変数 RUBYLIB の値、
コンパイル時に指定したデフォルト値
をこの順番で含みます。
以下に典型的な UNIX システム上でのロードパスを示します。
-I で指定したパス
環境変数 RUBYLIB の値
/usr/local/lib/ruby/site_ruby/VERSION サイト固有、バージョン依... -
Kernel
$ $ LOAD _ PATH -> [String] (55.0) -
Rubyライブラリをロードするときの検索パスです。
Rubyライブラリをロードするときの検索パスです。
Kernel.#load や Kernel.#require
がファイルをロードする時に検索するディレクトリのリストを含む配列です。
起動時にはコマンドラインオプション -I で指定したディレクトリ、
環境変数 RUBYLIB の値、
コンパイル時に指定したデフォルト値
をこの順番で含みます。
以下に典型的な UNIX システム上でのロードパスを示します。
-I で指定したパス
環境変数 RUBYLIB の値
/usr/local/lib/ruby/site_ruby/VERSION サイト固有、バージョン依... -
OpenSSL
:: Random . # egd(filename) -> true (55.0) -
EGD(Entropy Gathering Daemon) からエントロピーを得、 乱数生成器に追加します。
EGD(Entropy Gathering Daemon) からエントロピーを得、
乱数生成器に追加します。
filename で指定した Unix domain socket から EGD に問い合わせ、
255 バイト分のエントロピーを取得します。
OpenSSL::Random.egd_bytes(filename, 255) と同じです。
@param filename EGD のソケットのファイル名
@raise OpenSSL::Random::RandomError -
Socket
. accept _ loop(sockets) {|sock , client _ addrinfo| . . . } -> () (55.0) -
sockets でサーバソケットを受け取り、接続を待ち受け、 クライアントとの接続が確立するたびにブロックにその接続 ソケットを渡し呼び出します。
sockets でサーバソケットを受け取り、接続を待ち受け、
クライアントとの接続が確立するたびにブロックにその接続
ソケットを渡し呼び出します。
ブロックの引数はクライアントと接続したソケットオブジェクトと
Addrinfo オブジェクトです。
Socket.tcp_server_loop と同様、ブロックは
逐次的に呼び出されます。つまりブロックか終了するまで
次の接続は accept されません。
並列に通信したい場合は
スレッドのような並列実行機構を使う必要があります。
@param sockets 待ち受けたいサーバソケットの配列
@see Socket.tcp_server... -
Socket
. pack _ sockaddr _ un(path) -> String (55.0) -
指定したアドレスをlib:socket#pack_string で返します。
指定したアドレスをlib:socket#pack_string
で返します。
@param path パスを文字列で指定します。
例:
require 'socket'
p Socket.sockaddr_un("/tmp/.X11-unix/X0")
=> "\001\000/tmp/.X11-unix/X0\000...." -
Socket
. sockaddr _ un(path) -> String (55.0) -
指定したアドレスをlib:socket#pack_string で返します。
指定したアドレスをlib:socket#pack_string
で返します。
@param path パスを文字列で指定します。
例:
require 'socket'
p Socket.sockaddr_un("/tmp/.X11-unix/X0")
=> "\001\000/tmp/.X11-unix/X0\000...." -
Socket
. unpack _ sockaddr _ un(sockaddr) -> String (55.0) -
lib:socket#pack_stringを unpack したソケットパス名を返します。
lib:socket#pack_stringを
unpack したソケットパス名を返します。
@param sockaddr ソケットアドレス構造体を pack した文字列lib:socket#pack_stringを指定します。
例:
require 'socket'
p Socket.unpack_sockaddr_un(Socket.sockaddr_un("/tmp/.X11-unix/X0"))
=> "/tmp/.X11-unix/X0" -
Socket
:: AncillaryData # int -> Integer (55.0) -
自身が保持している cmsg data (データ) を整数の形で返します。
自身が保持している cmsg data (データ) を整数の形で返します。
整数データのサイズおよびエンディアンは実行するホストによって異なります。
require 'socket'
ancdata = Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, STDERR.fileno)
p ancdata.int #=> 2
@raise TypeError cmgs data のサイズが int のバイト数と異なる場合に発生します
@see Socket::AncillaryData.new Socket::Ancillar... -
WIN32OLE
. locale=(lcid) -> nil (55.0) -
WIN32OLEがオートメーション呼び出し時に設定するロケール識別子(LCID)を設 定します。
WIN32OLEがオートメーション呼び出し時に設定するロケール識別子(LCID)を設
定します。
OLEオートメーションでは、UNIXで利用される"ja_JP"などの国名と言語名を「_」
で接続した文字列ではなく、32ビット整数で示します。32ビットの内訳は上位
16ビットが予約領域で0、下位16ビットが言語ID(LANGID)です。LANGIDは、0〜
9ビットでプライマリ言語ID、10〜15ビットでサブ言語IDを示します。
@param lcid 新たに設定するロケール識別子を整数で指定します。
@raise WIN32OLERuntimeError システムにインストールされてい... -
Addrinfo
# ipv4? -> bool (37.0) -
アドレスが IPv4 のものならば true を返します。
アドレスが IPv4 のものならば true を返します。
@see Addrinfo#ip?, Addrinfo#ipv6?
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ipv4? #=> true
Addrinfo.tcp("::1", 80).ipv4? #=> false
Addrinfo.unix("/tmp/sock").ipv4? #=> false -
Addrinfo
# ipv6? -> bool (37.0) -
アドレスが IPv6 のものならば true を返します。
アドレスが IPv6 のものならば true を返します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ipv6? #=> false
Addrinfo.tcp("::1", 80).ipv6? #=> true
Addrinfo.unix("/tmp/sock").ipv6? #=> false
@see Addrinfo#ipv4?, Addrinfo#ip? -
NKF (37.0)
-
nkf(Network Kanji code conversion Filter, https://osdn.net/projects/nkf/) を Ruby から使うためのモジュールです。
nkf(Network Kanji code conversion Filter, https://osdn.net/projects/nkf/) を
Ruby から使うためのモジュールです。
=== 使い方
以下は、漢字コード変換コマンドの例です。
//emlist[例][ruby]{
#!/usr/local/bin/ruby
require 'nkf'
opt = ''
opt = ARGV.shift if ARGV[0][0] == ?-
while line = ARGF.gets
print NKF.nkf(opt, line)
end
//}
以下は、漢字コー... -
Socket
:: Constants :: SCM _ CREDENTIALS -> Integer (37.0) -
The sender's credentials
The sender's credentials
Socket::AncillaryData の type として利用します。
@see Socket::AncillaryData,
BasicSocket#sendmsg, BasicSocket#recvmsg,
unix(7linux) -
Socket
:: Constants :: SCM _ CREDS -> Integer (37.0) -
Process credentials
Process credentials
Socket::AncillaryData の type として利用します。
@see Socket::AncillaryData,
BasicSocket#sendmsg, BasicSocket#recvmsg,
unix(4freebsd) -
Socket
:: Constants :: SO _ PASSCRED -> Integer (37.0) -
Receive SCM_CREDENTIALS messages。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
Receive SCM_CREDENTIALS messages。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see socket(7linux), unix(7linux),
Socket::Constants::SOL_SOCKET -
Socket
:: Constants :: SO _ PEERCRED -> Integer (37.0) -
The credentials of the foreign process connected to this socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
The credentials of the foreign process connected to this socket。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see socket(7linux), unix(7linux), socketpair(2linux),
Socket::Constants::SOL_SOCKET -
Socket
:: SCM _ CREDENTIALS -> Integer (37.0) -
The sender's credentials
The sender's credentials
Socket::AncillaryData の type として利用します。
@see Socket::AncillaryData,
BasicSocket#sendmsg, BasicSocket#recvmsg,
unix(7linux) -
Socket
:: SCM _ CREDS -> Integer (37.0) -
Process credentials
Process credentials
Socket::AncillaryData の type として利用します。
@see Socket::AncillaryData,
BasicSocket#sendmsg, BasicSocket#recvmsg,
unix(4freebsd) -
Socket
:: SO _ PASSCRED -> Integer (37.0) -
Receive SCM_CREDENTIALS messages。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
Receive SCM_CREDENTIALS messages。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see socket(7linux), unix(7linux),
Socket::Constants::SOL_SOCKET