[ruby-list:45786] Re: 関数の後方参照

From: "Ayumu Aizawa" <ayumu.aizawa@...>
Date: 2009-01-04 09:34:06 UTC
List: ruby-list #45786
はじめまして、あいざわです。

プロトタイプ宣言みたいなことができるかはわからないのですが、
メインの処理をメソッドとして定義して、そこから呼ばれる関数的な処理はその後ろに
Kernelモジュールへのメソッド追加という形で記述すればやりたいことに近いのかな
とおもいました。

メイン処理の呼び出しだけ最後の部分に必要ですけどね。

ex.

#!/usr/bin/ruby

def main # ここでメイン処理を記述します
  func1
  p func2(1, 2)
end

module Kernel
# メイン処理の中で使われる処理は関数っぽく使うためにKernelの拡張として記述します。
  def func1
    p "hello"
  end
  def func2(n,m)
    n + m
  end
end
main # ここでメイン処理となるメソッドを呼び出しています。


2009/01/04 17:55 M. Morita <m-morita@ybrain.co.jp>:
> もりた です。
>
> プログラミングツールとして ruby はとても重宝しています。
> 質問または要望?ですが、
>
> 関数定義の後方参照または、関数のプロトタイプ宣言はできないでしょうか?
>
> なるべくスクリプト名に、そのスクリプトが何をするスクリプトか分かる
> ようにネーミングしているのですが、スクリプト数が 10 個以上になったり、
> ちょっと前に書いたものだとスクリプト名だけで処理内容を思い出すのが
> 難しくなってきます。
> そこで、ソースを見て、その処理内容を把握するのですが、(私のプログラ
> ミング法だと)メインとなる処理が最後までスクロールしないと、処理内容
> が把握できません。私の場合、関数を多用します。現状、関数は使用する
> 前に定義しなくてはならないようなので、以下のような感じとなり、
>
>  Threshold = 10
>  def func
>  ...
>  end
>  ...
>  ...   # 関数宣言群
>  ...
>  bufer = []
>  ...   # メイン処理
>  func()
>  ...
>
>  関数群の定義(数百行)の後ようやくメインの処理が見える感じなのですが、
>  メインの処理が最初の数10行で見えると、助かるのですが?
>
>  それには、関数の後方参照ができるか? 関数プロトタイプ宣言程度で、関数
> 呼び出しが可能であるとよいのですが?
>
> コメントを書け! との御指摘は以外に、裏技等もありましたらご教示ください。
>
> よろしくおねがいします。
>
>

In This Thread