2012-05-05 7 views
0

は、我々は上記のコードを持っているとしましょうココナッツの高さですが、1つのコマンドでココナッツのすべての情報はどうですか?私はまた、(高さ30(年齢5)(葉色。緑))を生成する試み(ツリー - > alistココナッツ)しかし、私は(のようなものを使用することはできません:各PPのココナッツ)。そのようにすることは可能でしょうか、適切なコマンドを使ってプリントツリーを作成することは唯一の解決策でしょうか?鶏のスキームでdefstructで作られたデータ構造のすべて「の部分を」印刷する方法

+0

'tree-> alist'プロシージャの出力を' pp'するだけの理由はありますか?非常に特別にフォーマットされたテキストが必要な場合は 'format' eggもあります。 – oobivat

+0

@oobivat私はppを試みたが、それは私のために働かない。 – yaku

答えて

1

これは、特定のtree->alist手順を使用するため、一般的な解決策ではありません。また、アウトプットは特にあてはまらない。コメントで述べたように、非常に特殊な印刷ニーズがある場合は、formatの卵を調べる必要があります。

(use defstruct) 

(defstruct tree height age leaf-color) 

(define coconut (make-tree height: 30 age: 5 leaf-color: 'green)) 

(define (pp-tree t) 
    (let loop ((attr (tree->alist t))) 
    (cond ((null? attr) 'done) 
      (else 
      (display (caar attr))(display ": ") 
      (display (cdar attr))(newline) 
      (loop (cdr attr)))))) 
関連する問題