Пожалуйста, не используйте «Начинающий студент» в качестве языка в Racket. Это подмножество, специально созданное для книги HtDP. Языки «рэкет», «r5rs», «довольно большой» больше похожи на настоящие схемы и должны работать для «Маленького схимера».
В вашем списке аргументов у вас есть (codeValue newList ), но в теле программы вы ссылаетесь на newlist . Все схемы, которые я использовал, чувствительны к регистру . Изменение newList
на newlist
сделало вашу программу отлично работающей на Chez Scheme и Guile.
Редактировать: Для пояснения, "A"
- это строка . Схема также имеет дополнительный тип данных символ , который является просто именем и ничем иным (и, вероятно, это то, что вам нужно здесь). Вы, вероятно, хотите (cons 'A newlist)
, а не (cons "A" newlist)
, если вы ожидаете (A)
.