小编LuX*_*orX的帖子

添加功能的尴尬实现

我很难理解为什么这样:

addItem = item => {
    this.setState({ grudges: [grudge, ...this.state.grudges] });
}
Run Code Online (Sandbox Code Playgroud)

相当尴尬的实施存在.岂不

this.state.grudges.push(grudge)
Run Code Online (Sandbox Code Playgroud)

满足?

javascript ecmascript-6 reactjs

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

将函数作为参数传递 - lambda表达式错误?

我正在尝试创建一个接受列表和函数作为参数的函数,并将该函数应用于List中的每个元素.这是我的尝试:

(defun filter(fn L)
  (if (eq 0 (length L))
      (print "list empty")
      (print (mapcar (lambda (n) (#'fn n)) L))))
(print (filter #'evenp '(1 2 2 3 4)))
Run Code Online (Sandbox Code Playgroud)

这是第二次尝试:

(defvar R nil)
(defun filter(fn L)
  (if (eq 0 (length L))
      nil
      (cons (R (funcall fn (car L)) filter(fn (cdr L))))))
(print(filter #'evenp '(1 2 2 3 4)))
Run Code Online (Sandbox Code Playgroud)

但对于一些简单的混乱和无法解释的原因,我得到第一个错误:

#'FN should be lambda expression.
Run Code Online (Sandbox Code Playgroud)

这是第二个:

Undefined function R
Run Code Online (Sandbox Code Playgroud)

我尝试了很多东西但到目前为止还没有任何工作.

编辑::感谢您的帮助到目前为止.这个:

(defun filter(fn L)
  (if (eq 0 (length L))
      (print "list empty")
      (remove-if-not …
Run Code Online (Sandbox Code Playgroud)

lisp functional-programming function common-lisp parameter-passing

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