问题标签 [racket-student-languages]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
recursion - 用球拍初学者语言编写递归函数时卡住了?
所以最近我学习了递归函数,我正在尝试一些练习然后我就卡住了。
问题是 list-nth-item,它使用一个列表 (lst) 和一个自然数 (n),如果存在,则生成 lst 中的第 n 个元素,否则该函数生成 false。请注意,第一项在索引 0 中。例如:(list-nth-item (list 1 2 3) 0)
产生1
这是我的代码
我知道因此不是正确的递归,当 n = 0 时它应该在列表示例中产生第一个数字(list-nth-item (list 1 2 3)0)
应该给出1
. 我对此并不陌生,只是不知道如何形成递归。
algorithm - Return smallest element in a list of numbers in Racket ISL?
I have to write a function in Racket ISL that takes a list of numbers and returns the smallest number in the list. Both min and max are not allowed. I think I have a start here; obviously recursion is needed.
Eventually I'll use this function to create an abstract one.
racket - gcd: 这个名字是以前定义的,不能重新定义
我必须使用 DrRacket 来解决这个问题,但每次运行代码时,我都会收到此错误消息“gcd:此名称是以前定义的,无法重新定义”。(我也在 DrRacket 中选择了 Advanced student [custom] 的语言。下面是我的代码,它是一个递归函数来找到最大公约数:
racket - 基本球拍:最终价值
我正在上一门编程入门课。我们在 DrRacket 中使用学生语言。
问题:我想在大爆炸游戏结束时返回某个值(需要 2htdp/universe)`。
当前输出:当游戏结束时,DrRacket 返回我当前的世界状态,这是我在游戏中使用的结构列表。
解决方案的进展:似乎stop-with
可以帮助我,但我不确定如何使用它。
TL;DR:
问题:游戏结束-->返回世界状态(结构列表)
想要:游戏结束-->返回其他值(数字)
让我知道我是否可以以任何方式澄清!谢谢!
编辑:我想我找到了解决方案。我使用我通常要求的表达方式来结束我的生活?函数并将其作为我的 on-tick 函数中的 cond 分支。当在我的 on-tick 函数中调用该函数时,它会将世界状态更改为我想要输出的任何内容。那么,到底我呢?函数,我只是检查一下世界状态是否与通常不同。
谢谢您的帮助!
解决方案:
scheme - 计划如何返回表单符号 + *
我如何在方案语言上定义这个返回if x>0 + else *
的函数:
我试试这个,它在球拍上不起作用:
我收到了这个错误
racket - DrRacket:将两个物体放入大爆炸
如何放置两个具有自己坐标的对象
进入 bin-bang 函数
我可以使用桨列表吗
racket - 如何在 REPL 中将语言设置为 htdp/bsl
我将以下htdp/bsl
程序另存为example.rkt
:
使用 运行上述内容时racket example.rkt
,输出与预期一致(即2
)。
但是,当我尝试使用htdp/bsl
语言 ( racket -I htdp/bsl
) 启动 REPL 时,会出现以下错误:
This error does not appear when the language selected is typed/racket
, for example.
为什么会发生错误htdp/bsl
,以及如何正确启动 REPLhtdp/bsl
作为语言?
racket - 我可以在 BSL 中将列表分成多个部分吗?
我有值列表,并想从中获取第一个 x 值并创建 (list (listof first x values) (listof next x values) 等等,直到这个列表变空...)。
例如,给定这个列表:(list "a" "b" "c" "d" "e" "f" "g" "h" "t")
返回这个:(list (list a" "b" "c") (list "d" "e" "f") (list "g" "h" "t"))
提前致谢 :)
list - 如何更新球拍(宇宙)中另一个结构内的结构列表
这是一个家庭作业,所以我不要求代码只是指导。我是 Racket 语言的新手,并且在没有 lambda 的情况下使用 ISL。我不能使用 lambda 或任何其他库。
我正在使用大爆炸。我有一个名为 struct-abc 的结构。在 struct-abc 中,我有一个名为 list-abc 的列表。在 list-abc 里面,我有一个 struct-xyz 的集合。我需要在每个刻度上更新 struct-abc 内的 list-abc 内的所有 struct-xyz 。
这是我到目前为止所拥有的:
使用上面的代码片段,我可以在鼠标事件或键事件上将 struct-xyz 的新实例添加到 list-abc。现在如何在每个滴答时自动更新 list-abc 中的所有 struct-xyz ?
这是我的 bigbang 函数(不包括所有参数):
这是我的 world-after-tick 函数,我将参数 world 和 list-abc 传递给辅助函数:
现在,在这个辅助函数中,我想将第一个 struct-xyz 从 list-abc 传递给另一个辅助函数,该函数更新值并递归地从 list-abc 传递每个结构。如何调用递归函数以及更新值的函数?我无法弄清楚这部分:
racket - 从 Racket 中的结构创建列表
我有以下代码:
现在我想要一个看起来像这样的列表:(list 22 25 23)
或(list 'a 'b 'c)
我知道当我调用它时(p-x (s-p (first my-List)))
我会得到 22 但我怎样才能为 中的整数或符号做到这一点my-List
?我认为它可以在递归过程中完成。
注意:我需要使用带有列表缩写的初学者级别
谢谢您的帮助!