4

スキーム関数で非表示の値を返そうとしていますが、WONTが画面に出力されないようです。これが必要です。(表示)呼び出しで出力されないリストに追加できるスキームの値はありますか?

4

2 に答える 2

1

目に見えないタイプを作成しようとする代わりに、フィルターを使用して不要な値を特定して削除し、新しいリストを作成して、画面への印刷など、好きなことを行うことができます。

(define (want-this? thing)
  ;; write a function that takes one
  ;;  parameter and returns a boolean
  ;;  true if you want it
  ;;  false if you don't
  )
(filter want-this?  '(v a l u e s))

ドキュメントも参照してください: http://docs.racket-lang.org/reference/pairs.html?q=filter#%28def._%28%28lib._racket/private/base..rkt%29._filter%29 %29

于 2010-09-21T05:56:22.793 に答える
0

これを行う標準的な方法はありません。display特定のタイプのオブジェクトを出力しないように、プロシージャ (またはスキームの出力呼び出し)を再定義できます。

(define display-old display)

(define (display obj)
     (if (not (invisible? obj))
         (display-old obj))) 
于 2010-09-21T05:42:06.363 に答える