[#39325] File.fnmatch の改良について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

はじめまして、山本です。

18 messages 2004/03/05

[#39429] trial version of Ruby/Tk — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

18 messages 2004/03/23
[#39454] Re: trial version of Ruby/Tk — "Shirai,Kaoru" <shirai@...> 2004/03/31

白井です。

[#39460] Re: trial version of Ruby/Tk — Hidetoshi NAGAI <nagai@...> 2004/04/01

永井@知能.九工大です.

[#39465] Re: trial version of Ruby/Tk — "Shirai,Kaoru" <shirai@...> 2004/04/01

白井です。

[#39466] Re: trial version of Ruby/Tk — Hidetoshi NAGAI <nagai@...> 2004/04/01

永井@知能.九工大です.

[#39453] Re: int/int in Ruby2? — Masaaki Sakano <mas@...>

坂野 正明です。

36 messages 2004/03/31
[#39455] Re: int/int in Ruby2? — NISHIMATSU Takeshi <t-nissie@...> 2004/03/31

西松と申します.

[#39470] Re: int/int in Ruby2? — Masaaki Sakano <mas@...> 2004/04/01

坂野 正明です。

[#39473] Re: int/int in Ruby2? — matz@... (Yukihiro Matsumoto) 2004/04/01

まつもと ゆきひろです

[#39484] Re: int/int in Ruby2? — Masaaki Sakano <mas@...> 2004/04/03

坂野 正明です。

[#39528] Re: int/int in Ruby2? — "T Akutsu" <locrian@...> 2004/04/09

あくつです。なんかわくわくしてきだぞ。(^^;)

[ruby-list:39405] Re: rubyの関数定義について

From: "Norihito Shinzan (Jun Kabbalah)" <kabbalah@...>
Date: 2004-03-21 08:15:39 UTC
List: ruby-list #39405
  新山だす。

"yokoyama" <yokoyama@mf.0038.net> さんの
「[ruby-list:39401] rubyの関数定義について」
<000701c40eee$d78a0ad0$0301a8c0@yokoyama>より:

> rubyで以下のようなスクリプトをかくとエラーとなってしまいます。
> スタイル1
> -----------------------
> sub1() #sub1の呼び出し
> ・・・
> def sub1()
> ・・・
> end
> ----------------------
> のようにすると、エラーになります。
> これを
> スタイル2
> ---------------------
> def sub1()
> ・・・
> end
> sub1() #sub1の呼び出し
> ---------------------
> のようにするとエラーになりません。
> これは、rubyの仕様と理解しておりますが、
> 最初の方法のようなスタイルをrubyで行うことは出来ませんでしょうか。


  全体をアプリケーションクラスで囲う方法は如何でしょうか。

---------------------------
Class Hoge
  def initialize
    # 初期化
  end

  def start
    # メインルーチン
    sub1
    sub2
  end

  def sub1
    # サブルーチン1
  end

  def sub2
    # サブルーチン2
  end
end

if $0 == __FILE__
  Hoge.new.start    # 初期化してメインルーチンを実行
end
---------------------------

  のような感じになります。メソッドを超えて共有する変数が必要な場合、イン
スタンス変数を使います(initialize 内で初期化しておくのがいいでしょう)。

  最後の if は、このスクリプトが他のスクリプトから require されたときに 
Hoge.new.start が実行されないようにするためのものです。これにより、アプ
リケーションクラス Hoge を他のスクリプトからライブラリとして使用できるよ
うになります(よって、このアプリケーションクラスをライブラリとして使う予
定がないなら必須ではありません)。
--
新山 徳人(Norihito Shinzan) / 鹿原 淳(Jun Kabbalah)
mailto:kabbalah@proc.org.tohoku.ac.jp / mailto:kabbalah@nifty.com
Web:「スタジオえりるんはいむ」 http://www.proc.org.tohoku.ac.jp/~kabbalah/



In This Thread