From: nakatuka@... (NAKATSUKA, Yukitaka___Z.OOL.) Date: 2001-06-10T21:51:05+09:00 Subject: [ruby-list:30173] Re: How do we treat local static variables? どうも、Z.OOL.@奈良先端大です。 # ruby-list には初めての投稿になります。 いけがみさん曰く: => 対象とするサンプルプログラムはある再帰関数を定義しています。 => その再帰関数が再帰の深さを static な局所変数で保存していて、 => Ruby で書くときはどうするんだっけ? ということがわからなくなりました。 => => void recursive() /* in C */ => { => static int level = 0; => level++; => ... => recursive() /* on some condition */ => } 僕ならば、再帰呼出を行なっている関数の再帰の深さを引数に 保持するという手法を取ると思います。 def recursive() __resursive(0) end def __recursive(level) ... __recursive(level + 1) end ただ、 => できるだけ元の C のソースに似た => static な局所変数の書き方(あるいは普遍的な移植の方法)が知り => たかったのです。 といういけがみさんの要求には外れることとなってしまうので、 申し訳ないのですが。 --------- Z.OOL.@奈良先端大 (mailto:nakatuka@itc.aist-nara.ac.jp)