2016-07-18 4 views
-2

私はprint evalループを使用していますが、別のものを使用する必要がありますか?SICPの演習のコードを入力するにはどうすればよいですか?

+0

emacsに精通している方は、geiserを試してみてください。コードを書くときに評価できる素晴らしい環境です。罪悪感、鶏肉、ラケットを扱う。私はgeiserを知る前に、キーストローク(emacsでも同様)でシェルバッファを使用し、別のバッファに書き込まれたコードをコピーして貼り付けました(私はまだirbとjsでそれを行います)。 – dercz

+0

もう1つの方法は[DrRacket IDE](http://stackoverflow.com/questions/19546115/which-lang-packet-is-proper-for-sicp-in-dr-racket/19561746#19561746) – Sylwester

答えて

0

REPLは、はい、それを行うための場所です。

ほとんどの人は、たとえば、Emacsのように、コマンドラインでREPLの上に何かを使用します。私はxscheme emacsライブラリを使用します。私の意見では、選択肢はあまり良くありませんし、コマンドラインだけを使うのは耐え難いことです。

0

あなたはSICPの演習を実施するためにGNU Guileのスキームでスクリプトを書くことができます。組み込みプロシージャのほとんどは問題なく動作し、構文に違いはありません。 !

のLinuxでは


はのguileするスクリプトファイル

ます。#/ usr/.. <アドレスの先頭にシェバング表記を使用してスクリプトを書くインタプリタ> \
- e <最初に実行するプロシージャの名前> -s


アン例

#!/usr/local/bin/guile \ 
-e main -s 
!# 
(define main (args) 
(display (+ 3 4)) 
(newline)) 

chmod + <filename>を使用してファイルを実行可能にしますし、それが<ファイル名を./実行>

P.S.スキームファイルは.scmファイル拡張子を使用して保存されます。

+0

を使用することです。メインがアンバインドシンボルであるというエラーを投げ、 '(define(main args)'を使用する必要があります。 – jcubic

+0

スクリプトを修正しました。 –

0

あなただけDrRacketを使用し、ラケットを使用している場合。

あなたはMITのスキームを使用している場合は、エドウィン、ミットスキーム、SICPは、もともとのために建設されたスキームの実装に同梱のEmacsの派生物を使用することをお勧めします。エドウインはエマックスの派生物なので、すでにエマックを知っていれば、エドウィンの罰金を得ることができます。 Emacsを知らない場合は、基本的には、次のとおりです。転送のための

  • C-F、C-B、C-N、およびC-P、後方、上下、それぞれ。
  • C-Spaceは、領域の選択を開始します(操作するテキストを強調表示します)。あなたがC-Spaceでそれを取り除くか、それを使って何かをするまで、その地域はそこにとどまります。
  • スクラッチ/ REPLバッファに直接カーソルの後ろにコードの行を実行する
  • Cx Ceと貼り付けのCy
  • 以降カーソルから、ラインを切断する
  • Ckとする領域を切断するCW(あなたはエドウィンの使用を開始するのに十分でなければならない

を終了してCx Ce

  • CxをCcで走った何かの実行を停止するためのデフォルトのウィンドウ)
  • CcをCcと。関数の定義を編集したり、編集した定義を再評価したり、新しいバージョンをすぐにあなたのrepl環境で動作させることができれば、非常に素晴らしいことです。

  • 関連する問題