Scheme 球拍不允许使用列表和配对
我下载了Racket并遵循其手册,之前我曾与Plt Scheme合作,除此之外,作者说也是一样的;我发现了一些不那么简单的东西 当我把指令 (列出“红色”“绿色”“蓝色”) 并执行该程序,出现: (列出“红色”“绿色”“蓝色”) 而不是“(“红”“绿”“蓝”);这种情况过去常常发生在计划中。我试过所有的语言(初学者、中级、高级),什么都没试过;为什么呢 如果我想使用cons,比如: (第12条) 我得到的错误是: 缺点:第二个参数必须是列表,但收到1和2 那为什么也是这样呢?通常在方案中,该表达式打印为“(1 2)Scheme 球拍不允许使用列表和配对,scheme,racket,Scheme,Racket,我下载了Racket并遵循其手册,之前我曾与Plt Scheme合作,除此之外,作者说也是一样的;我发现了一些不那么简单的东西 当我把指令 (列出“红色”“绿色”“蓝色”) 并执行该程序,出现: (列出“红色”“绿色”“蓝色”) 而不是“(“红”“绿”“蓝”);这种情况过去常常发生在计划中。我试过所有的语言(初学者、中级、高级),什么都没试过;为什么呢 如果我想使用cons,比如: (第12条) 我得到的错误是: 缺点:第二个参数必须是列表,但收到1和2 那为什么也是这样呢?通常在方案中,该表达
有什么帮助吗?看起来您正在使用其中一种教学语言。尝试以下操作:在窗口的左下角,选择“从源代码确定语言”,并在编辑器中将其作为第一行:
#lang racket
#!r6rs ; Scheme standard R6RS language
#!r5rs ; Scheme standard R5RS language (legacy)
#!racket ; Racket's own Scheme dialect != Scheme (racket can mean "A dirty scheme")
不过要小心,Racket和Scheme是不同的语言,与w.r.t.标准Scheme有一些不同。当你尝试变异一个
cons
单元格时,首先会有一个惊喜出现,请参考此建议。还要记住,在Racketif
中,表达式必须同时具有结果和替代项。请务必查看此文档以了解更多差异。看起来您正在使用其中一种教学语言。尝试以下操作:在窗口的左下角,选择“从源代码确定语言”,并在编辑器中将其作为第一行:
#lang racket
#!r6rs ; Scheme standard R6RS language
#!r5rs ; Scheme standard R5RS language (legacy)
#!racket ; Racket's own Scheme dialect != Scheme (racket can mean "A dirty scheme")
不过要小心,Racket和Scheme是不同的语言,与w.r.t.标准Scheme有一些不同。当你尝试变异一个
cons
单元格时,首先会有一个惊喜出现,请参考此建议。还要记住,在Racketif
中,表达式必须同时具有结果和替代项。请务必查看此项以了解更多差异。好的,我找到了一个很好的方法,在程序开始时,我应该放:
#lang scheme
然后根据@OscarLopez的建议,从源代码中确定语言
现在至少我可以在Racket中使用Scheme了好的,我找到了一个很好的方法,在程序开始时,我应该说:
#lang scheme
然后根据@OscarLopez的建议,从源代码中确定语言
现在至少我可以在Racket中使用Scheme了。首先,DrRacket支持多种语言,因此可能是您没有选择正确的语言,或者您选择的语言的默认设置不令人满意。我将介绍如何更改langauge以及如何更改其外观: 选择编程语言 正如您所提到的,在drracketide的左下角有一个下拉菜单,您可以在其中进行一些选择。按该键选择之前已选择的语言之一,或使用“选择语言”选项选择其他语言 另一个非常方便的选项是选择“从源代码确定语言”,并将其中一个作为第一行:
#lang racket
#!r6rs ; Scheme standard R6RS language
#!r5rs ; Scheme standard R5RS language (legacy)
#!racket ; Racket's own Scheme dialect != Scheme (racket can mean "A dirty scheme")
所以DrRacket就像一个IDE,支持多种编程语言,但它们主要是Scheme方言。在被称为Racket之前,它被称为DrScheme,该语言被称为PLT Scheme,默认语言为#lang Scheme
<代码>#!scheme已弃用,可以删除,以便为将来版本的racket选择其他兼容程序
在按Run之前,实际更改不会发生。您将在“交互”窗口中看到新语言正在生效
更改REPL显示计算表达式的方式
当您在“交互”窗口中按RUN或expressions时,在“交互”窗口中打印的内容(如REPL)不会被输出,因此它不在标准范围内
您可以从相同的左下角选择菜单中选择REPL显示结果的方式。选择“选择语言”,不做任何选择,然后按左下角的“显示详细信息”。你有三种不同的方式来表现它。以下是不同的选项:
Input expression Constructor Quasiquote write
(cons 1 2) (cons 1 2) `(1 . 2) (1 . 2)
(list 1 2) (list 1 2) `(1 2) (1 2)
add1 add1 add1 #<procedure:add1>
Input表达式构造函数quasikote write
(cons12)(cons12)`(1.2)(1.2)
(表12)(表12)`(1 2)(1 2)
地址1地址1地址1地址1#
请务必了解,这只是REPL中的表示,实际上在程序中打印某些内容需要
显示或类似的打印过程才能获得真正的输出。首先,DrRacket支持大量语言,因此可能是您没有选择正确的语言,或者您选择的默认设置不令人满意。我将介绍如何更改langauge以及如何更改其外观:
选择编程语言
正如您所提到的,在drracketide的左下角有一个下拉菜单,您可以在其中进行一些选择。按该键选择之前已选择的语言之一,或使用“选择语言”选项选择其他语言
另一个非常方便的选项是选择“从源代码确定语言”,并将其中一个作为第一行:
#lang racket
#!r6rs ; Scheme standard R6RS language
#!r5rs ; Scheme standard R5RS language (legacy)
#!racket ; Racket's own Scheme dialect != Scheme (racket can mean "A dirty scheme")
所以DrRacket就像一个IDE,支持多种编程语言,但它们主要是Scheme方言。在被称为Racket之前,它被称为DrScheme,该语言被称为PLT Scheme,默认语言为#lang Scheme
<代码>#!scheme
已弃用,可以删除,以便为将来版本的racket选择其他兼容程序
在按Run之前,实际更改不会发生。您将在“交互”窗口中看到新语言正在生效
更改REPL显示计算表达式的方式
当您在“交互”窗口中按RUN或expressions时,在“交互”窗口(如REPL)中打印的内容未显示