Rubyで、C, C++のように、プロトタイプ宣言して使用する関数メソッドを後ろに書く方法です。

Rubyでは、C, C++のように、プロトタイプ宣言することはできません。 つまり、呼び出されるメソッドは、呼び出される前に書かなければなりません

C, C++を設計してきた方にとっては、main関数の後に、関数を書いていきたいですよね。


Rubyでは、一般的に、別ファイルで関数群を定義しておいて、requireすることで、自分のファイルに取り込んで対応します。

しかし、ファイルを分けたくない。簡単なものなので、さっと書きたい。最後から読むのはいやだ。 というような要望もあると思います。少なくとも私がそうです。


main関数を最初と最後に

main関数を作り、ファイルの最後にmain関数を呼び出せば可能です。

# Main関数定義
def Main
  func_a()
  puts func_b( 5 )
end


#--- func_a() ---
def func_a()
  puts "called func_a"
  func_c()
end

#--- func_b() ---
def func_b( dat )
  puts "called func_b"
  dat * dat
end

#--- func_c() ---
def func_c( dat )
  puts "called func_c"
end


# Main(ここから処理が開始される)
Main()


Main関数だけでなく、func_a() から呼び出されている func_c()func_a() の前に書く必要はなく、上記のように後に書くことができます。

2021/06/09