別のキーワード
ライブラリ
- ビルトイン (264)
検索結果
先頭5件
-
IO
. binread(path , length = nil , offset = 0) -> String | nil (6102.0) -
path で指定したファイルを open し、offset の所まで seek し、 length バイト読み込みます。
...ときの mode は "rb:ASCII-8BIT" です。
//emlist[例][ruby]{
IO.write("testfile", "This is line one\nThis is line two\nThis is line three\nAnd so on...\n")
IO.binread("testfile") # => "This is line one\nThis is line two\nThis is line three\nAnd so on...\n"
IO.binread("testfile", 20)......# => "This is line one\nThi"
IO.binread("testfile", 20, 10) # => "ne one\nThis is line "
//}
@see IO.read... -
IO
. binwrite(path , string , offset=nil) -> Integer (6102.0) -
path で指定されるファイルを開き、string を書き込み、 閉じます。
...るファイルを開き、string を書き込み、
閉じます。
ファイルを開くときの mode が "wb:ASCII-8BIT" で、バイナリモードが有効
である点以外は IO.write と同じです。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドを......tring 書き込む文字列
@param offset 書き込み開始位置
//emlist[例][ruby]{
# 8x8の真っ白なPNG画像データ。
png = 'iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAAAAADhZOFXAAAADklEQVQIW2P4DwUMlDEA98A/wTjP
QBoAAAAASUVORK5CYII='.unpack('m').first
# 期待する先頭16バイトの16進ダ......00 0d 49 48 44 52
# binwriteを使用した場合: どの環境でも正しく保存できる。
IO.binwrite('white.binmode.png', png)
puts IO.binread('white.binmode.png', 16).unpack('C*').map {|c| '%02x' % c }.join(' ')
# => 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52
# binwriteを使用し... -
IO
. pipe {|read _ io , write _ io| . . . } -> object (120.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
...相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され......ソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指......部エンコーディングを文字列で指定します。
文字列がコロンを挟んだ二つのエンコーディング名 "A:B" である場合
最初のものが外部エンコーディング、次が内部エンコーディングを意味します。
@param... -
IO
. pipe(enc _ str , **opts) {|read _ io , write _ io| . . . } -> object (120.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
...相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され......ソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指......部エンコーディングを文字列で指定します。
文字列がコロンを挟んだ二つのエンコーディング名 "A:B" である場合
最初のものが外部エンコーディング、次が内部エンコーディングを意味します。
@param... -
IO
. pipe(ext _ enc) {|read _ io , write _ io| . . . } -> object (120.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
...相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され......ソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指......部エンコーディングを文字列で指定します。
文字列がコロンを挟んだ二つのエンコーディング名 "A:B" である場合
最初のものが外部エンコーディング、次が内部エンコーディングを意味します。
@param... -
IO
. pipe(ext _ enc , int _ enc , **opts) {|read _ io , write _ io| . . . } -> object (120.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
...相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され......ソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指......部エンコーディングを文字列で指定します。
文字列がコロンを挟んだ二つのエンコーディング名 "A:B" である場合
最初のものが外部エンコーディング、次が内部エンコーディングを意味します。
@param... -
IO
. open(fd , mode = "r" , **opts) {|io| . . . } -> object (114.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
...オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。
IO.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了と......ともに fd はクローズされます。ブロックの結果を返します。
IO.new, IO.for_fd はブロックを受け付けません。
=== キーワード引数
このメソッドは以下のキーワード引数を利用できます。
* :mode mode引数と同じ意味です
* :extern......部エンコーディングを指定します。
* :textmode 真を渡すと mode の "t" と同じ意味になります。
* :binmode 真を渡すと mode の "b" と同じ意味になります。
* :autoclose 偽を渡すと close時/GCでのファイナライザ呼出時に fd を close し......" と同じ意味になります。
* :binmode 真を渡すと mode の "b" と同じ意味になります。
* :autoclose 偽を渡すと close時/GCでのファイナライザ呼出時に fd を close しません。
* :path 文字列を渡すと、IO#path メソッドがその値を返す... -
IO
. popen("-" , mode = "r" , opt={}) {|io| . . . } -> object (102.0) -
第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。
...ンを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。
io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print...... IO オブジェクトを引数に
ブロックを実行し、その結果を返します。ブロックの実行後、生成したパイ
プは自動的にクローズされます。
子プロセスでは nil を引数にブロックを実行し終了します。
p IO.popen("-", "r+") {|io|......if io # parent
io.puts "foo"
io.gets
else # child
s = gets
puts "child output: " + s
end
}
# => "child output: foo\n"
opt ではエンコーディングの設定やプロセス起動のためのオプションが指定できます。
IO.new や Kernel.#spa... -
IO
. popen([env = {} , [cmdname , arg0] , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (102.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
...出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2......生成した IO オブジェクトを引数にブ
ロックを実行し、ブロックの実行結果を返します。ブロックの実行後、生成したパイ
プは自動的にクローズされます。
p IO.popen("cat", "r+") {|io|
io.puts "foo"
io.close_write
io.gets
}
#......ョンや、パイプ IO オブジェクトの属性(エンコーディングや
読み書き能力)を指定することができます。
プロセス起動のためのオプションは Kernel.#spawn と、
パイプオブジェクトの属性の指定のオプションは IO.new と共通です...