标签: racket

根据其值读取和重新创建列表

我想根据其值创建列表的子集.例如:

List (AA AB BA DC AD)
Run Code Online (Sandbox Code Playgroud)

我想要一个列表,其中包含所有原子的值,从'A'开始.所以答案应该是:

(AA AB AD)
Run Code Online (Sandbox Code Playgroud)

我现在可以通过遍历整个列表并将每个值转换为另一个列表并读取第一个值然后重新创建列表来实现此目的.

这是一个非常复杂的解决方案.

Scheme中是否有任何方法可以读取列表中字符串的第一个字符并删除该元素?

scheme racket

0
推荐指数
1
解决办法
123
查看次数

在Racket中打印cond中的多个语句

在Racket中,我试图在"cond"语句中打印多个表达式,如下所示,

(let ((var `(make))
      (exp '(1 2)))
   (cond
      [(number? 2) `(hi ,var)
                   `(bye ,exp)]))
Run Code Online (Sandbox Code Playgroud)

但只有"再见"声明被返回/打印在屏幕上.第一个"hi"根本没有被删除.我如何退回/打印两者?

scheme racket

0
推荐指数
1
解决办法
4019
查看次数

在Scheme中迭代

假设我在Scheme中有一个列表列表,如下所示:

 (define a-list  (list (list a b) (list c d) (list e f) (list g h) (list i j)))
Run Code Online (Sandbox Code Playgroud)

我将如何定义一个消耗此列表的函数,以便我可以使用另一个函数来使用列表中的每个字母?

例如,我有另一个功能

(define (smorg a)
  (...))
Run Code Online (Sandbox Code Playgroud)

那么,我怎么去做smorg a,smorg b,smorg c ......?

recursion scheme racket

0
推荐指数
1
解决办法
189
查看次数

构建2D列表

寻找一个类似于以下内容的函数:

   (foo 3 2) => '( ( (1 1) (1 2) (1 3) )
                   ( (2 1) (2 2) (2 3) ) )
Run Code Online (Sandbox Code Playgroud)

DrRacket中是否有任何内置函数可以实现这一功能?

scheme list racket

0
推荐指数
1
解决办法
1645
查看次数

如何将列表转换为其元素

这一定很容易实现,但我是新手,不知道如何:

我有一个列表(1 2 3 4)并想将其转换为(1)(2)(3)(4)

或者有没有办法将其构建为(1)(2)(3)(4).我在用

 cons '(element) call-function
Run Code Online (Sandbox Code Playgroud)

在函数内构建它(递归)

scheme racket

0
推荐指数
1
解决办法
1767
查看次数

Scheme中的整数分数

有没有一种简单的方法来显示整数有理数,例如:

(average '(1 2 3 4)) ;returns 2 1/2 
Run Code Online (Sandbox Code Playgroud)

我希望它返回5/2.谢谢.

scheme racket

0
推荐指数
1
解决办法
859
查看次数

递归地比较两个列表中的每个项目,返回具有最小项目的新列表

在Scheme/Racket中执行此操作

问题是:取两个等长的数字列表,然后返回一个由位置最小的数字组成的列表.

例如: listMins( '(1 7 5) '(2 8 3) )

返回(1, 7, 3)因为1<27<83<5

我是函数式编程的新手,在递归时很弱.我觉得好像我只是缺少一些我不知道如何处理我的伪代码的关键部分,所以我可以开始编写这个真实的代码.(我尝试先跳入代码,但它没有用,所以我退回到伪代码.)

伪代码:

(listMins x, y)(
    (if !null A)
        (if > listAitem listBitem)
            (add A to newList) ;where do I make newList?
            (add B to newList)
        (return newList)
)
Run Code Online (Sandbox Code Playgroud)

scheme functional-programming pseudocode racket

0
推荐指数
1
解决办法
461
查看次数

方案:如何制作'(5.(5))

我已经尝试了各种各样的缺点组合并附加产生'(5.(5))但我不能.有什么办法吗?

scheme append cons racket

0
推荐指数
1
解决办法
75
查看次数

如何使用右折叠在Scheme中映射两个列表?

我正在寻找一种仅使用文件夹映射两个不同列表项的方法

(map-Using-FoldR '( 1 2 3 4) '( w x y z))
Run Code Online (Sandbox Code Playgroud)

应该回来

'((1 w) (2 x) (3 y) (4 z))
Run Code Online (Sandbox Code Playgroud)

或者换句话说-使用foldr实现“ map”命令是可能的吗?谢谢!

scheme racket

0
推荐指数
1
解决办法
170
查看次数

方案/球拍中最大的整数值是多少?

我试图找出方案中最大的int值到底是多少?例如,在Java中,最大的有符号整数为2 ^ 31-1。

如何在方案中获取此值(最大的int值)

scheme racket

0
推荐指数
2
解决办法
216
查看次数