【发布时间】:2012-04-26 15:37:24
【问题描述】:
假设我定义了一个程序:
(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)
会给我9
但就我而言,我知道我必须解析我的程序并考虑省略的索引将对应于 1; X 对应 X1。
我可以编写一个在列表中轻松执行此操作的函数,但不是“程序”。
如果有人能告诉我应该首先看什么,那会很有帮助。
谢谢。
【问题讨论】:
标签: programming-languages scheme