1

プログラムが定義されているとします。

(define myprog
  (a-program
   (list (labeled 'A12 (add1 'X)) (unlabeled (sub1 'Y4)))))

上記のプログラムで使用されている最大のインデックスを見つける手順を書きたいと思います。

テストケースは次のようになります。

>(max-index myprog);myprog is the program defined above
12 
;this is from A12 because its the largest index used.

スキームには、リスト内の最大の要素を見つける組み込み関数があることを知っています (max 3 5 9)

しかし、私の場合、プログラムを解析する必要があり、省略されたインデックスが 1 に対応することも考慮する必要があることを理解しています。X は X1 に対応します。

これをリストで簡単に実行できる関数を作成できますが、「プログラム」では作成できません。

最初に何を見ればよいか教えていただけると助かります。

ありがとう。

4

1 に答える 1

2

あなたの質問で定義されている意味での「プログラム」、リストのリストであり、他には何もありません。「リスト」に必要なことを行う関数の書き方を知っている場合は、ここに投稿してください。「プログラム」でも機能することがわかります。

于 2012-04-26T15:52:22.040 に答える