【问题标题】:A Scheme procedure that returns the largest index used in a program L返回程序中使用的最大索引的 Scheme 过程 L
【发布时间】: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


    【解决方案1】:

    在您的问题中定义的意义上的“程序”列表列表,仅此而已。如果您知道如何编写一个函数来完成“列表”所需的功能,请在此处发布,您会发现它也适用于“程序”。

    【讨论】:

      猜你喜欢
      • 2012-09-11
      • 2021-08-17
      • 1970-01-01
      • 2019-01-20
      • 2018-06-11
      • 1970-01-01
      • 2012-07-03
      • 2011-03-09
      • 1970-01-01
      相关资源
      最近更新 更多