別のキーワード
ライブラリ
- ビルトイン (33)
- csv (36)
-
io
/ console (12) -
net
/ telnet (2) - open3 (48)
- shell (24)
-
shell
/ command-processor (24) -
shell
/ filter (24) - socket (120)
- timeout (21)
クラス
- Array (21)
- CSV (36)
- IO (12)
- Shell (24)
-
Shell
:: CommandProcessor (24) -
Shell
:: Filter (24) - Socket (108)
- String (12)
キーワード
- Rubyの起動 (12)
- TCPServer (12)
- Telnet (2)
- capture2e (12)
- capture3 (12)
- cat (18)
- filter (36)
- glob (18)
- irb (12)
- noecho (12)
- pack (21)
- pack テンプレート文字列 (12)
-
pack
_ sockaddr _ in (12) - popen3 (24)
-
ruby 1
. 6 feature (12) -
sockaddr
_ in (12) - socket (12)
-
tcp
_ server _ loop (24) - tee (18)
- timeout (21)
-
udp
_ server _ sockets (48) - unpack (12)
-
unpack
_ sockaddr _ in (12)
検索結果
先頭5件
-
Shell
# echo(*strings) -> Shell :: Filter (18119.0) -
実行すると, それらを内容とする Filter オブジェクトを返します.
...ings シェルコマンド echo に与える引数を文字列で指定します。
動作例
require 'shell'
Shell.def_system_command("head")
sh = Shell.new
sh.transact {
glob("*.txt").to_a.each { |file|
file.chomp!
cat(file).each { |l|
echo(l) | tee(file + ".tee")... -
Shell
:: CommandProcessor # echo(*strings) -> Shell :: Filter (18119.0) -
実行すると, それらを内容とする Filter オブジェクトを返します.
...ings シェルコマンド echo に与える引数を文字列で指定します。
動作例
require 'shell'
Shell.def_system_command("head")
sh = Shell.new
sh.transact {
glob("*.txt").to_a.each { |file|
file.chomp!
cat(file).each { |l|
echo(l) | tee(file + ".tee")... -
Shell
:: Filter # echo(*strings) -> Shell :: Filter (18119.0) -
実行すると, それらを内容とする Filter オブジェクトを返します.
...ings シェルコマンド echo に与える引数を文字列で指定します。
動作例
require 'shell'
Shell.def_system_command("head")
sh = Shell.new
sh.transact {
glob("*.txt").to_a.each { |file|
file.chomp!
cat(file).each { |l|
echo(l) | tee(file + ".tee")... -
IO
# noecho {|io| . . . } -> object (6106.0) -
文字入力時のエコーバックを無効に設定してブロックを評価します。
...す。ブロックを評価した結果を返します。
以下の例では、標準入力からエコーバックなしで文字列を一行読み込みます。
require "io/console"
STDIN.noecho(&:gets)
@raise LocalJumpError ブロックを指定しなかった場合に発生します。... -
ruby 1
. 6 feature (84.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...張ライブラリに対して autoload が効いていませんでした。((<ruby-dev:16379>))
autoload :Fcntl, "fcntl"
require "fcntl"
=> -:2:in `require': uninitialized constant Fcntl (NameError)
from -:2
ruby 1.6.7 (2002-03-01) [i586-linux]
=> ruby 1.6.7 (2......数が既に定義されていると失敗していました。((<ruby-talk:30203>))
Constants = 1
require 'syslog'
p Syslog::Constants
=> -:2:in `require': Syslog::Fixnum is not a module (TypeError)
from -:2
ruby 1.6.6 (2001-12-26) [i5......1.6.4 (2001-08-06) [i586-linux]
3
: ((<require|組み込み関数>))
requireに ~ で始まるファイル名を指定したとき、拡張子がついてな
いとロードできなくなっていました。((<ruby-dev:13756>))
$ echo p __FILE__ > ~/a.rb
$ ruby17 -v -r~/a -e0... -
Timeout
. # timeout(sec , exception _ class = nil) {|i| . . . } -> object (54.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...します.
@param exception_class タイムアウトした時、発生させる例外を指定します.
例 長い計算のタイムアウト
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 =......[1], min[0]*4.0/(min[0]+min[1])
#例
#=> 417519: pi = 3.141443
例 独自の例外を発生させるタイムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
begin
Timeout.timeout(5, MYError) {
sleep(30)
}
rescue MYError => err
puts "MY......例 外部コマンドのタイムアウト
require 'timeout'
# テスト用のシェルをつくる。
File.open("loop.sh", "w"){|fp|
fp.print <<SHELL_EOT
#!/bin/bash
S="scale=10"
M=32767
trap 'echo "$S; $m1/($m1+$m2)*4" | bc ; echo "count = $((m1+m2))" ; exit 0' INT
m1=0......ッセージを指定します.省略した場合は
"execution expired" になります.
例 長い計算のタイムアウト
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 =... -
Timeout
. # timeout(sec , exception _ class , message) {|i| . . . } -> object (54.0) -
ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。
...ッセージを指定します.省略した場合は
"execution expired" になります.
例 長い計算のタイムアウト
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 =......[1], min[0]*4.0/(min[0]+min[1])
#例
#=> 417519: pi = 3.141443
例 独自の例外を発生させるタイムアウト
#!/usr/bin/env ruby
require 'timeout'
class MYError < Exception;end
begin
Timeout.timeout(5, MYError) {
sleep(30)
}
rescue MYError => err
puts "MY......例 外部コマンドのタイムアウト
require 'timeout'
# テスト用のシェルをつくる。
File.open("loop.sh", "w"){|fp|
fp.print <<SHELL_EOT
#!/bin/bash
S="scale=10"
M=32767
trap 'echo "$S; $m1/($m1+$m2)*4" | bc ; echo "count = $((m1+m2))" ; exit 0' INT
m1=0... -
irb (42.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
...する行を表示する
--noverbose これから実行する行を表示しない (デフォルト)
--echo 実行結果を表示する (デフォルト)
--noecho 実行結果を表示しない
--inspect 結果出力にinspectを用いる (bc モード以外......と同じ効果が得られます。
IRB.conf[:AUTO_INDENT] = false
IRB.conf[:BACK_TRACE_LIMIT] = 16
IRB.conf[:DEBUG_LEVEL] = 1
IRB.conf[:ECHO] = nil
IRB.conf[:EVAL_HISTORY] = nil
IRB.conf[:HISTORY_FILE] = nil
IRB.conf[:IGNORE_EOF] = true
IRB.conf[:IGNORE_SIGINT] = true
IRB.conf[:......で一行ずつ評価されます。
: irb_require(path)
Ruby の require の irb 版です。
ファイル path を現在の irb インタプリタ上で実行します。
path に Ruby スクリプトを指定した場合は、Kernel.#require と異な
り、path の内容を irb で一......する行を表示する
--noverbose これから実行する行を表示しない (デフォルト)
--echo 実行結果を表示する (デフォルト)
--noecho 実行結果を表示しない
--inspect 結果出力にinspectを用いる
--noinspect... -
Open3
. # popen3(*cmd) -> [IO , IO , IO , Thread] (36.0) -
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー 出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の 配列で返します。
...準エラー
出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の
配列で返します。
require 'open3'
stdin, stdout, stderr, wait_thr = *Open3.popen3("/usr/bin/nroff -man")
@param cmd 実行するコマンドを指定します。
@retu......し、最後にパイプ
を close します。この場合はブロックの最後の式の結果を返します。
require 'open3'
Open3.popen3("read stdin; echo stdout; echo stderr >&2") {|stdin, stdout, stderr, wait_thr|
stdin.puts "stdin"
stdin.close # または close_write......
require 'open3'
Open3.popen3({"foo" => "1", "bar" => "2"}, "env") {|i, o, e, t|
i.close
print o.read
}
#=> ...
foo=1
bar=2
Kernel.#spawnと同様に、引数リストの最後にオプションをハッシュ形式
で指定する事ができます。
例:
require... -
Open3
. # popen3(*cmd) {|stdin , stdout , stderr , wait _ thr| . . . } -> () (36.0) -
外部プログラム cmd を実行し、そのプロセスの標準入力、標準出力、標準エラー 出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の 配列で返します。
...準エラー
出力に接続されたパイプと実行したプロセスを待つためのスレッドを 4 要素の
配列で返します。
require 'open3'
stdin, stdout, stderr, wait_thr = *Open3.popen3("/usr/bin/nroff -man")
@param cmd 実行するコマンドを指定します。
@retu......し、最後にパイプ
を close します。この場合はブロックの最後の式の結果を返します。
require 'open3'
Open3.popen3("read stdin; echo stdout; echo stderr >&2") {|stdin, stdout, stderr, wait_thr|
stdin.puts "stdin"
stdin.close # または close_write......
require 'open3'
Open3.popen3({"foo" => "1", "bar" => "2"}, "env") {|i, o, e, t|
i.close
print o.read
}
#=> ...
foo=1
bar=2
Kernel.#spawnと同様に、引数リストの最後にオプションをハッシュ形式
で指定する事ができます。
例:
require... -
Socket
. tcp _ server _ loop(host , port) {|sock , addr| . . . } -> () (24.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
...逐次的な echo サーバ
# 一度に一つのクライアントした取り扱えない
require 'socket'
Socket.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
# スレッドを使った echo サーバ......に複数のクライアントを取り扱える
# 以下の例だと接続制限がない(つまり接続過剰になりえる)ことに注意
require 'socket'
Socket.tcp_server_loop(16807) {|sock, client_addrinfo|
Thread.new {
begin
IO.copy_stream(sock, sock)
ensure...