[#4754] Now,I am starting ruby. — mamoru@... (Mamoru Matushita)

先日、初めて投稿したつもりだったのですが間違えて

14 messages 1997/10/02

[#4891] mixin - singleton method inheritance, const etc... — shugo@... (Shugo Maeda)

前田です。

13 messages 1997/10/10

[#5000] ruby 1.0-971015 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

14 messages 1997/10/15

[#5056] RubyでOODB — hisanori@...

松尾です。

20 messages 1997/10/20
[#5057] Re: RubyでOODB — matz@... (Yukihiro Matsumoto) 1997/10/20

まつもと ゆきひろです

[#5065] Re: RubyでOODB — hisanori@... 1997/10/20

松尾です。

[#5066] Re: RubyでOODB — matz@... (Yukihiro Matsumoto) 1997/10/20

まつもと ゆきひろです

[ruby-list:4770] Re: Now,I am starting ruby.

From: Kikutani Makoto <kikutani@...>
Date: 1997-10-03 03:44:32 UTC
List: ruby-list #4770
きくたにです。

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/

In This Thread