cametan_42さんが面白いけど、むずかし、事を書いてます。興味はあるのですが、なかなか理解が伴わない。ShemeとかDrRacketを使い込んでいないと細部の理解は無理かも。最後に10000!を計算してますが、Rubyでも出来るかと思ってやってみました。しかし1000!までは出来たんですが、10000!は最後まで行きません。終了します。
出力が一行なので、見づらい。
数値を文字に変化して、桁で区切るルーティンがありました。区切りを"\n"にしてあとはそのままです。ネットから拾いました。
Rubyは大きな数でも、良きに計らえ、でやってはくれますが、出来ないことも有るんですね。
cametan_42さんのブログに、10000!階乗の実行方法が載ってますが、やり方が分かりません。downloadでSchemeのDrRacketのファイルがダウンロードされるのかと思ったんですが、使い方の表示されているtxtファイルがダウンロードされただけです。やり方が違うようです。
訂正)出だしで、cametan_42さんの敬称が落ちてました。ごめんなさい。訂正します。
1. Whitespaceのソースコードをダウンロードする。
https://ideone.com/s043hb
2. 上でダウンロードしたファイルをDr. Racketで開き、ファイル末尾の
(main (vector->list (current-command-line-arguments)))
をコメントアウトして
;(main (vector->list (current-command-line-arguments)))
にする。
3. 階乗計算のプログラム
https://ideone.com/C6YMEO
をダウンロードしてファイル名を例えばfact.wsと名付ける
4. Pathにもよるが、基本的にはDr. Racketのリスナーで
(main '(ファイル名))
と打って実行。
例えば3. でfact.wsとファイル名を付けてるなら
(main '("fact.ws"))
が実行コマンドとなる。
(RacketのCurrent Working Directoryと違う場所にfact.wsが置いてあるなら"C:\なんとか\かんとか\fact.ws"がファイル名になります)
以上です。