2017-01-08 4 views
-1
(define (most-common-word str) 
    (let (wordslist str-split str " "))) 

Я пытаюсь сделать внутреннюю переменную списков строк. , но я получаю сообщение об ошибке «плохой синтаксис».let: плохой синтаксис (не идентификатор и выражение для привязки) в: wordslist ### scheme

Я искал ответы здесь, но вещи, которые я изменил, не помогли.

str-split возвращает список строк с разделителем «».

спасибо.

+0

Посмотрите на «[3,9 Местные Переплет: пусть, пусть *, letrec, ...] (https://docs.racket-lang.org/reference/let. HTML)». – coredump

+0

Я до сих пор не понимаю –

+0

у вас пропали парсы. –

ответ

3

Он должен выглядеть следующим образом:

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

... который устанавливает местное связывание с word-list до значения <VALUE>. Это связывание действует только внутри формы <BODY>, заключенной в let.

Теперь для того, чтобы вычислить <VALUE>, вы должны вызоваstr-split с аргументами, которые вы хотите (т.е. str и " "). Способ, которым вы выполняете вызов функции, состоит в том, чтобы заключить его в круглую скобку (это справедливо только в контексте, где форма оценивается как выражение, а не там, где скобка означает , например, привязка). Так <VALUE> должно быть действительно:

(str-split str " ") 
Смежные вопросы