2012-03-25 8 views
3

ユーザー入力データやハイスコアなどを保存および編集できるようにするために、Racketを使用してファイルを作成する方法を教えてください。私はいくつかのドキュメントを読んだことがあり、これを行う方法について明確な答えは見つかりませんでした。ラケットを介したファイルの作成

答えて

5

2htdp/batch-ioライブラリにファイルを読み書きするための単純な関数がいくつかあります:http://docs.racket-lang.org/teachpack/2htdpbatch-io.htmlです。 、(\ nは改行文字を意味する)ファイルにデータを書き込むこと

(require 2htdp/batch-io) 
(write-file "highscore.txt" "Alice 25\nBob 40\n") 

:彼らはやや彼らは、プログラム自体と同じディレクトリにのみファイルにアクセスすることで制限されていますが、あなたのような何かを行うことができます

(read-lines "highscore.txt") 

文字列のリストとしてファイルの行を戻すことができます。

4

Racket Guideには、入力と出力に関する章があります。 first sectionは、ファイルの読み書きとその例を説明しています。 open-output-file関数は書き込みのためにファイルを開き、 open-input-fileは、読み取り用にファイルを開きます。それは

ファイルを言います。

Examples: 
> (define out (open-output-file "data")) 
> (display "hello" out) 
> (close-output-port out) 
> (define in (open-input-file "data")) 
> (read-line in) 
"hello" 
> (close-input-port in) 

ファイルがすでに存在する場合は、open-output-fileは デフォルトで例外が発生します。

など:再書き込みやファイルを更新する#:exists 'truncateまたは#:exists 'update のようなオプションを提供します。

関連する問題