From: Kikutani Makoto Date: 1997-10-03T12:44:32+09:00 Subject: [ruby-list:4770] Re: Now,I am starting ruby. きくたにです。 Thu, Oct 02, 1997 at 10:34:38PM +0900 において Mamoru Matushita さん曰く: > ファイルを削除する方法がどうしても解りません。perlで言うところのunlinkは > rubyでは > どうすればいいのでしょう?またperlで言うところのsymlink,flock,mkdir関数 > などは > あるのでしょうか?そういえばrubyには関数ないんでしたっけ? なぜここが回答されてないのかわかりませんが、見習いの私が しゃしゃりでておきます。 unlink はFileクラスのクラス・メソッドなので File.unlink(ファイル名) でできます。同様に symlink は File.symlink(ファイル名, リンク名) です。mkdir はDirクラスのクラス・メソッドなので Dir.mkdir(ディレクトリ名) です。 (なんで DirクラスはIOやFileと独立したクラスなのだろう) もっとも、私は怠惰に system("rm hoge") などとやってしまいそうですが。 flockは私は使ったことないのでわかりませんが、マニュアルには ------------------------------------------------------------ flock(operation) ファイルをロックします.LOCK_NBが指定されていて, ブロック されそうな場合にはFALSEを返します.有効な operationは以下の 通りです. LOCK_SH 共有ロック.複数のプロセスが同時にロックを共有できます . LOCK_EX 排他ロック.同時にはただひとつのプロセスだけがロックを 保持できます. LOCK_UN アンロック. LOCK_NB ロックの際にブロックしない.他の指定とorするこ とで指 定します. 以上の定数はFileクラスで定義されています. ------------------------------------------------------------ とあるので、きっと fd = open(ファイル名) fd.flock(LOCK_EX) とかやるんでしょうが、いま試すと LOCK_EX を知らんと 言われてしまいました。 -- 人生を背負い投げ 菊谷 誠(Kikutani Makoto) kikutani@eis.or.jp kikutani@jdc.ericsson.se hgf03701@niftyserve.or.jp http://www.eis.or.jp/muse/kikutani/