[#43271] rails がこけます — "Hideo Konami" <konami@...>

小波です。

15 messages 2007/03/18
[#43273] Re: rails がこけます — 山崎雄介 <y-yamasaki@...> 2007/03/19

山崎です。

[#43274] rubyスクリプト内で、unixコマンドを実行 — 上間 健 <mugenkai15@...> 2007/03/19

こんにちは、上間です。

[#43286] モジュールのinclude先の名前 — Sato Hiroshi <hirocy.f01@...>

hirocyです.

23 messages 2007/03/22
[#43290] system(wget url) について — Kyoko Sato <k.sato@...> 2007/03/22

お世話になっております。佐藤です。

[#43291] Re: system(wget url) について — Yukiharu Yabuki <yabuki@...> 2007/03/22

こんにちは

[#43293] Re: system(wget url) について — Kyoko Sato <k.sato@...> 2007/03/22

矢吹さん有難うございます。佐藤です。

[#43294] Re: system(wget url) について — Yukihiro Matsumoto <matz@...> 2007/03/22

まつもと ゆきひろです

[#43295] Re: system(wget url) について — Kyoko Sato <k.sato@...> 2007/03/22

まつもとゆきひろさん有難うございます。佐藤です。

[ruby-list:43321] Re: 質問:参照されなくなったデータの行方(ちゃんとGCされたか)を知る方法は?

From: Nobuyoshi Nakada <nobu@...>
Date: 2007-03-27 16:45:03 UTC
List: ruby-list #43321
なかだです。

At Tue, 27 Mar 2007 23:01:18 +0900,
ruby-philia@mail.goo.ne.jp wrote in [ruby-list:43318]:
> そこでふと気になったことがいくつかあります。
> 1.参照されなくなったデータのGCのタイミングは?

参照されなくなった後、いつか。

> 2.そのタイミングを知る方法は?(プログラムに細工する方法とかありましたら)

ObjectSpace.define_finalizer

> 3.GCするタイミングはわからないけど気にしなくていいはず?なのか。

いいです。
外部リソースを解放するなどの場合は、明示的なメソッドを用意して
おいてブロックを使う、というのがrubyでは一般的です。

> 4.こういったメモリ使用量の増減を知る仕掛けは作れるのか?

システム依存ですが、RAAにもなにかあったはずです。proctable?

> 例2
> ary = [1, 2, 3, 4]
> ary.each do |item|
>   ary.delete(2) if item == 3
>   p [item,ary]
> end
> 実行結果
> [1, [1, 2, 3, 4]]
> [2, [1, 2, 3, 4]]
> [3, [1, 3, 4]]
> あれ?4が処理されなかった。

GCとは無関係に、iterate中のArrayを変更した場合の結果は未定義だ
からですね。

> 例2改
> ary = [1, 2, 3, 4]
> ary.dup.each do |item|
>   ary.delete(item) if item == 2
>   p [item,ary]
> end

この例ではdelete_ifなどを使うという方法もあります。

> 元のコードに戻りますと以下のようになるわけですが、
> loop do
>   chars.dup.each do |char|
>     char.move
>     char.draw
>   end
> end

あるいは、moveでは直接削除せずにnilに置き換えておき、eachのあと
で chars.compact! するとか。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread