2016-03-28 20 views
0

私はSchemeで小さなアプリケーションを作成するためにDrRacket、version 6.4、Englishを使用しています。 次のコードを連結するより効率的な方法があるのだろうかと思っていました。 私は画面Scheme表示する文字列を連結する

Rolling 5 dice 
You rolled 
(3 1 3 6 6) 

に次の出力を探しています

(display "Rolling ") 
    (display (number->string (- 5 (length my-rolled-dice)))) 
    (display " dice\n") 
    (display "You rolled\n") 
    (define my-roll (make-list-of-random-numbers (- 5 (length my-rolled-dice)) 6)) 
    (display my-roll) 
    (display "\n") 

[それがクリーンであれば、私はスキームに新しいですので、私はわからない作品]きれいな方法がありますこれを書いているのですか、これはSchemeで得られるほどきれいですか?

答えて

4

使用printf、それは短いです:

(printf "Rolling ~a dice~n" (- 5 (length my-rolled-dice))) 
(printf "You rolled~n~a" (make-list-of-random-numbers (- 5 (length my-rolled-dice)) 6)) 
+1

注それは(http://www.lispworks.com/documentation/HyperSpec/Body/22_cab.htm)[ '〜'%使用することがよりLispyの]をだと'〜n 'の代わりに、私は他の人に優しくすることを好みます。しかし、あなたのコードがRacketeers以外の誰かが読むことを意図していない場合、 '〜n'はもちろん問題ありません。 –

+0

オスカーとクリスありがとう! – merkman