[ruby-list:50074] Re: def文だけでは邪道でしょうか?

From: "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
Date: 2015-02-03 07:14:06 UTC
List: ruby-list #50074
きしもとです

> 質問事項は、def文の連続というパターンは、rubyでは何か不自然/邪道なので 
> しょうか?ということです。

> その他、雑誌等に投稿するときは、ユーザインターフェイス(例えば'Tk'などを 
> 使用して)作成する必要があるのでしょうか?

まず、以上の質問(質問1と質問2とします)と、その後に続く以下の話は、
どのような関連があるのでしょうか?

> 類似関係(ファジィ同値関係)分析の一例を以下に示しておきます。使用した 
> rubyのバージョンは2.0です
> window7とUbuntuで、動作を確認しています。
> 
(以下略)

質問1についてですが、Rubyにはdef文という文はありません。
Rubyにある文としては、「式文」「alias文」「undef文」「if修飾文」
「unless修飾文」「while修飾文」「until修飾文」「rescue修飾文」
「代入文」といったものは文ですが、defは文ではありません。
def なんとか... というようなものは「メソッド定義」です。

「def文の連続というパターン」というものが、具体的にどのような
ものを指しているのかわかりませんが、想像するとたとえば
def foo(a, b)
  def bar(x, y)
  end
end
というようなメソッド定義があったとして、その働きは、
「メソッドfooを実行するとメソッドbarが定義される」というものに
なります。不自然でも邪道でもありませんが、このような言語仕様が
具体的にこんなユースケースで有用だ、という話はあまり見たことが
ないように思います。

雑誌等に投稿するスクリプトについては、どのようなスクリプトで
あるべきかは、それぞれの雑誌ごとに(必要であれば)規定がある
でしょう、Rubyにおいてはこれが一般的だ、というような規定は、
聞いたことがないように思います。

In This Thread