33件ヒット
[1-33件を表示]
(0.113秒)
検索結果
先頭3件
-
Zlib
:: GzipWriter # pos -> Integer (21114.0) -
現在までに圧縮したデータの長さの合計を返します。 ファイルポインタの位置ではないことに注意して下さい。
...イルポインタの位置ではないことに注意して下さい。
require 'zlib'
filename='hoge1.gz'
f = File.open(filename, "w")
Zlib::GzipWriter.wrap(f, Zlib::BEST_COMPRESSION){|gz|
(1..10).each {|i|
gz.print i
puts gz.pos
}
}
#=> 1
#=> 2
#=> 3
...... -
Zlib
:: GzipWriter # tell -> Integer (6014.0) -
現在までに圧縮したデータの長さの合計を返します。 ファイルポインタの位置ではないことに注意して下さい。
...イルポインタの位置ではないことに注意して下さい。
require 'zlib'
filename='hoge1.gz'
f = File.open(filename, "w")
Zlib::GzipWriter.wrap(f, Zlib::BEST_COMPRESSION){|gz|
(1..10).each {|i|
gz.print i
puts gz.pos
}
}
#=> 1
#=> 2
#=> 3
...... -
File
# flock(operation) -> 0 | false (49.0) -
ファイルをロックします。
...(write lock)を使用してカウンタを更新。
# ロック前にファイルを切り詰めてしまうので、
# モードに"w"を使ってはいけません。
File.open("counter", File::RDWR|File::CREAT, 0644) {|f|
f.flock(File::LOCK_EX)
value = f.read.to_i + 1
f.rewind
f.write("#{......")
f.flush
f.truncate(f.pos)
}
# 読み込みロック(read lock)を使用してカウンタを読み込み。
File.open("counter", "r") {|f|
f.flock(File::LOCK_SH)
p f.read
}
//}
//emlist[例2:][ruby]{
f = File.open("/tmp/foo", "w")
f.flock(File::LOCK_EX)
puts "locked by process1"
fork......", "r")
f.flock(File::LOCK_SH)
puts "locked by process2"
sleep 5
puts "unlocked by process2"
}
sleep 5
f.flock(File::LOCK_UN)
puts "unlocked by process1"
sleep 1 # <- 子プロセスが確実に先にロックするための sleep
f.flock(File::LOCK_EX)
puts "re-locked by process1"
# => l...