[#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:43325] Re: 質問:参照されなくなったデータの行方(ちゃんとGCされたか)を知る方法は?

From: dan <dango@...>
Date: 2007-03-28 13:45:06 UTC
List: ruby-list #43325
だんです。

ruby-philia@mail.goo.ne.jp wrote:

> chars = []
> 
> chars << Character.new
> 
> loop do
>   chars.each do |char|
>     char.move
>     char.draw
>   end
> end
> 
> とまぁ、こんな感じでキャラを動かして描画してを繰り返していました。
> (実際のプログラムはhttp://blog.goo.ne.jp/ruby-philiaからダウンロードできます)
> すると、ときどきちらついたり、動いてないキャラがあるのを見つけました。
> 原因は、char.moveの中で
> chars.delete(self) if @y < 0
> というように自分自身が画面外に消えたらchars配列から自分自身を削除するという方法を使っていたた
> めでした。

キャラの中では削除せず、以下のような感じでどうでしょう。

 loop do
   chars.each do |char|
     char.move
     char.draw
   end
   chars.delete_if {|char| char.y < 0 }
 end

もしも削除する条件がいろいろあるようでしたら、キャラに削除対象かどうかを
判定するメソッド(次の例では dead? メソッド)を定義するといいのではない
でしょうか。

   chars.delete_if {|char| char.dead? }


In This Thread

Prev Next