自己参照リスト構造 (Ruby)

林です。

前回のブログ担当のときにCとJavaとPythonで「自己参照リスト構造」を作成し、それぞれのステップ数をフリーのステップカウンタ「かぞえチャオ!」で算出したが、せっかくなのでPythonのライバルとも言えるRubyでも「自己参照リスト構造」を作成してステップ数を算出した。

以下が、Rubyで作成した自己参照リスト構造とその実行結果である。

以下が、Rubyで作成した自己参照リスト構造のステップ数である。

以下は、これまでに作成した自己参照リスト構造の言語毎の実ステップ数である。

Rubyで書いたコードの実ステップ数が29、Pythonで書いたコードの実ステップ数が30、Rubyの方がPythonよりも1ステップだけ少ない。

Rubyで書いた場合、自己参照リスト構造を持つOrderクラスのステップ数が極端に減る。

これは、Rubyにはアクセサという、かなり反則気味な言語仕様があり、getterメソッドとsetterメソッドを定義する必要がないからだ(これはインスタンス変数をpublicで定義していることに等しい)。

それを差し引いて考えると、Pythonの実ステップ数30という数字は驚異的に少ない。