【问题标题】:Strict variable declaration in SchemeScheme中的严格变量声明
【发布时间】:2011-10-14 22:37:37
【问题描述】:

Scheme lisp 是否提供任何库。类似于 perl 的“严格”变量声明?

【问题讨论】:

  • 您能否将您的问题重新表述为比“像某些 Perl 功能”更具体?或许可以举个例子说明你想写什么以及你希望语言如何处理它。
  • 如果我忘记在 "let" 中添加任何变量,则方案不会引发任何错误/警告,但它假定它为 "nil"。同样,如果我访问我的 DPL(动态属性列表,例如 (list nil 'a 1 'b 2))并且如果属性不存在(在本例中为 'c'),那么它也将返回 nil。这种行为隐藏了我的代码中的错误,所以我想知道在这些情况下,Scheme 会以某种方式生成警告/错误消息。
  • @Tanmay 据我所知,R5RS 没有提供任何处理属性列表的函数。另外,(list nil 'a 1 'b 2) 对我来说看起来不像是普通的财产清单。如果您使用某种库来处理这些数据结构,则错误处理是该库的责任。

标签: scheme strict variable-declaration


【解决方案1】:

与 Perl 相比,Scheme 一开始就非常严格和干净(例如,在大多数实现中引用未声明的变量会引发异常)。编译时警告是一个实现质量问题。您使用的是哪个 Scheme 实现?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-21
    • 2012-01-27
    • 2020-12-02
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多