[#40498] autoload SYMBOL, XX.rb — keiju@... (Keiju ISHITSUKA)
けいじゅ@いしつかです.
8 messages
2005/01/08
[#40501] getopt — keiju@... (Keiju ISHITSUKA)
けいじゅ@いしつかです.
6 messages
2005/01/08
[#40519] What is singletonclass.superclass ? — sheepman <sheepman@...>
こんにちは、sheepman です。
6 messages
2005/01/11
[#40523] Re: アクセス情報の取得について — yuushi44@...
酒匂様、神戸様
4 messages
2005/01/12
[#40546] Net::IMAPの中のinlenって何ですか? — 内木場 美次 <uchikoba@...>
はじめまして。Rubyを始めて2ヶ月ちょっとの
6 messages
2005/01/20
[#40551] Net::IMAPで既に存在するディレクトリが削除できない — 内木場 美次 <uchikoba@...>
お疲れ様です。内木場です。
13 messages
2005/01/21
[#40571] dupとfrozen — Chikara Takamatsu <c_takamatu@...>
始めまして。高松と申します。
5 messages
2005/01/25
[#40580] enum 定数する場合のイディオム — Hiroshi Takagi <gollum@...>
高木@関西のネットワーク屋%Ruby novice monk です。
12 messages
2005/01/27
[#40581] Re: enum 定数する場合のイディオム
— "U.Nakamura" <usa@...>
2005/01/27
こんにちは、なかむら(う)です。
[ruby-list:40535] Re: procの動作について(質問)
From:
"Hisashi Yahata" <yahatah@...>
Date:
2005-01-14 04:22:37 UTC
List:
ruby-list #40535
いわおか様 矢幡です。多数のご指導いただき、有り難うございます。 私の事情を少しお伝えします。 最初BasicのプログラムをPerlに移植し、それをさらにRubyに移植しています。 Perlでは全ての変数前に$をつけなければならない書き方が嫌で、Rubyに惹かれた わけですので、なるべくローカル変数にして$を外しておいて、徐々にdef..endの形 式にしていく手順を踏むつもりでいます。また、今後は機能を加え複雑な構成にする 予定ですので、オブジェクト指向言語にも惹かれ、$で始まるグローバル変数をなる べく使わなくて済むように、Module化していきたいと考えています。 しかし、私が作成した既存のPerlスクリプト では、適当に機能の塊をsubにして、 これをMainで呼び出し、Mainの構成を見やすい表現にしました。Perlの変数名をその まま残せば、Rubyのグローバル変数になるので、subのみをprocに変更するだけです むと思います。PerlからRubyに変換してもプログラムが動くことを確認した後に、明 示的に $ で始まるグローバル変数の数を減らす手順があると思います。すなわち、 逆に$を削っていく作業が必要になります。 ご指摘のように、「ソースの先頭で、使う変数を全部初期化して、ソース内のどの ブロックからも参照できるようにするというのは、実質的にグローバル変数を作って いるのと同じ」で、まさにそのとおりと思います。しかし、ほとんど$が付いた変数 を徐々に削除するよりも、Module化しながら、変数の初期化を削っていくのが効率的 だと推察します(間違っているかもしれませんが。)。 機能毎にまとめたsubであっても、その中の変数のほとんどがグローバル変数扱い となる場合に、引数が多くなります。データの引き渡しをdef毎(Perlのsub毎) に行うのと、グローバル変数として保持するのは、「演算速度」と「メンテ(および 発展)の容易さ」のバランスの問題と思いますが、どちらが効率的なのか、Rubyに詳 しい諸先輩は、これをどのようにされているのかお聞かせいただけると嬉しいです。 具体例がなければ議論は無理かもしれませんが。 矢幡