新しいアカウントで始めました。

身の回りの出来事や写真が中心です。

Whitespaceとは?ShemeによるPCシミュレータですか?

2021-12-04 10:06:57 | Lisp

 cametan_42さんが面白いけど、むずかし、事を書いてます。興味はあるのですが、なかなか理解が伴わない。ShemeとかDrRacketを使い込んでいないと細部の理解は無理かも。最後に10000!を計算してますが、Rubyでも出来るかと思ってやってみました。しかし1000!までは出来たんですが、10000!は最後まで行きません。終了します。

出力が一行なので、見づらい。

数値を文字に変化して、桁で区切るルーティンがありました。区切りを"\n"にしてあとはそのままです。ネットから拾いました。

Rubyは大きな数でも、良きに計らえ、でやってはくれますが、出来ないことも有るんですね。

cametan_42さんのブログに、10000!階乗の実行方法が載ってますが、やり方が分かりません。downloadでSchemeのDrRacketのファイルがダウンロードされるのかと思ったんですが、使い方の表示されているtxtファイルがダウンロードされただけです。やり方が違うようです。

訂正)出だしで、cametan_42さんの敬称が落ちてました。ごめんなさい。訂正します。


コメント (2)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 読書嫌いの読書履歴、「パン... | トップ | Whitespace曲りなりに実行で... »
最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
cametan_42さん、コメントありがとうございます (isam)
2021-12-04 20:08:59
教えてもらったとおり、1000!計算できました。何故か?Rubyでは10000!でエラーでもないが、終了しました。結果は出力無しでした。
返信する
Whitespace on Windows (cametan_42)
2021-12-04 12:44:31
WindowsでのWhitespace(Racket版)の使い方は以下の通りです。

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"がファイル名になります)

以上です。
返信する

Lisp」カテゴリの最新記事