小编Amm*_*mar的帖子

功能列表

有没有办法制作一个包含函数的列表?我要做的是,列出一些算术运算符, (+ - * /)这样我就可以轻松地操纵它们的顺序并将它们应用到数字列表中.

所以,如果我有这个列表,我会像这样使用它:

(apply (map (lambda (x)
              x)
            '(+ - * /))
       '(1 2 3 4))
Run Code Online (Sandbox Code Playgroud)

我是一名新手程序员,所以如果有更好的方法来进行此类操作,我们非常感谢您的建议.

lisp scheme functional-programming

2
推荐指数
1
解决办法
295
查看次数

使用指针和非指针变量释放结构

我正在尝试使用 c 结构实现链表,我使用 malloc 分配一个新节点然后为 分配空间value,所以我一直在考虑如何在完成后释放结构,我的结构看起来像这样:

typedef struct llist {
     char *value;
     int line;
     struct llist *next;
} List;
Run Code Online (Sandbox Code Playgroud)

我有一个遍历结构并释放其成员的函数,如下所示:

free(s->value);
free(s);
Run Code Online (Sandbox Code Playgroud)

我的问题是,这也免费int line吗?

c memory struct

2
推荐指数
1
解决办法
2815
查看次数

关于定义语法的问题

我是编程新手,通过SICP工作,并喜欢它.虽然我对方案的定义语法有点困惑,主要是,有什么区别:

(define foo bar)
Run Code Online (Sandbox Code Playgroud)

和:

(define (foo) bar)
Run Code Online (Sandbox Code Playgroud)

第一个只是为foo分配bar并执行它吗?而第二个分配并等待通话?

如果是这样你怎么去调用另一个函数内的函数,比如在if语句中,

(if (foo) ...)
Run Code Online (Sandbox Code Playgroud)

要么

(if foo ...)
Run Code Online (Sandbox Code Playgroud)

scheme

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

标签 统计

scheme ×2

c ×1

functional-programming ×1

lisp ×1

memory ×1

struct ×1