【问题标题】:let: bad syntax (not an identifier and expression for a binding) in: wordslist ###schemelet: 语法错误(不是绑定的标识符和表达式) in: wordslist ###scheme
【发布时间】:2017-05-22 16:36:23
【问题描述】:
(define (most-common-word str)
  (let (wordslist str-split str " ")))

我正在尝试做一个字符串列表的内部变量。 但我收到错误“语法错误”。

我在这里寻找答案,但我更改的内容没有帮助。

str-split 返回一个带有 " " 分隔符的字符串列表。

谢谢。

【问题讨论】:

标签: scheme racket let


【解决方案1】:

应该是这样的:

(let ([word-list <VALUE>]) <BODY>)

... 建立从word-list 到值&lt;VALUE&gt; 的本地绑定。此绑定仅在由let 包围的&lt;BODY&gt; 表单内有效。

现在,为了计算&lt;VALUE&gt;,您必须调用 str-split 并使用所需的参数(即str" ")。执行函数调用的方式是将其包装在括号中(例如,这仅在表单被评估为表达式的上下文中有效,而不是括号表示 binding)。所以&lt;VALUE&gt; 真的应该是:

(str-split str " ")

【讨论】:

    猜你喜欢
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多