【问题标题】:Singleton in Racket (LISP)球拍中的单身人士(LISP)
【发布时间】:2019-10-02 10:17:04
【问题描述】:

星期二我有作业要做。这是关于球拍的。我必须开发一个可以知道列表中是否是单例的程序。 我被困住了,所以我请你帮助我。

谢谢大家。

  (if (pair? l)
      (if (pair? (cdr l))
                 #f
                 #t))
      #f
      #t
      )

【问题讨论】:

  • (pair? (cdr l) #f #t),对吗?不带 3 个参数;同样,if 不带 4 个参数
  • 好的,但是看看代码它不需要 3 个参数
  • (如果(对?(cdr l))
  • 最外面的if有问题,我以为是给了4个arg,但实际上右括号太早了。请重新格式化并缩进您的代码。

标签: lisp racket


【解决方案1】:

如果列表包含单个元素,它就是一个单例,所以如果我们检查一下就足够了:

  1. 对象是一对
  2. 它的cdrnull

像这样:

(and (pair? l) (null? (cdr l)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多