タグ

ブックマーク / shugo.net (2)

  • cmag3.rd

    第3回 Rubyインタプリタの組み込み(1) 前田修吾 末尾再帰 先日、Pythonのメーリングリストで、再帰呼び出しを使った階乗の計算をどれ くらいまでできるかということが話題になりました。ちょっと気になったので Rubyではどれくらい計算できるのか試してみました。Rubyで階乗の計算を行う プログラムは、再帰呼び出しを使ってList1のように書くことができます。実 行結果はFig1のようになりました。どうも私の環境では1700と1800の間に限界 があるようです。ちなみにPythonでは9000くらいまで計算できました。これだ けの材料で判断するのは早計かもしれませんが、RubyインタプリタはPythonに くらべてスタックの消費が多いようですね:-( このように再帰呼び出しは深くなる(呼び出し回数が多くなる)ほどスタックを 消費し、ついにはスタックを使い尽くしてしまいます。たとえば、

  • Rubyコーディング規約

    はじめに 文書は、Rubyによりコーディングを行う際の規約について述べる。 実際のプロジェクトに適用する際には、このコーディング規約をカスタ マイズして用いることを推奨する。 ソースコードの整形 インデント プログラムを読みやすくするため、インデントを適宜行う。インデント 幅は2とする。また、インデントにはスペースのみを使用し、タブは使用 しない。(環境によりタブ幅が異なるため。) 例: if x > 0 if y > 0 puts "x > 0 && y > 0" end end 一行の桁数 一行の桁数は最大80桁までとする。 空行 複数のクラスの区切には空行を挿入する。 例: class Foo ... end class Bar ... end 誤った例: class Foo ... end class Bar ... end また、クラス内の各構成要素の区切にも空行を挿入する。

  • 1