相关疑难解决方法(0)

Lisp - 将输入拆分为单独的字符串

我正在尝试将用户输入并将其存储在列表中,而不是仅包含单个字符串的列表,我希望扫描的每个单词都是自己的字符串.例:

> (input)
This is my input. Hopefully this works
Run Code Online (Sandbox Code Playgroud)

会回来:

("this" "is" "my" "input" "hopefully" "this" "works")
Run Code Online (Sandbox Code Playgroud)

请注意我在最终列表中不需要任何空格或标点符号.

任何投入将不胜感激.

lisp string split input list

16
推荐指数
3
解决办法
1万
查看次数

功能指示符不受欢迎?

浏览 Common Lisp 源代码时,我注意到人们最常使用#'foowhere'foo就足够了——也就是说,无论在何处接受函数指示符,他们都会选择传递函数。

当然,#'foofoo通过flet等等定义时是必要的。我理解这一切的机制——我的问题是一种风格。难道只是因为人们不想考虑'foovs #'foo,所以他们使用后者是因为前者有时不起作用?即使是这样,它也不会解释使用,#'(lambda ...)因为#'在那里总是不必要的。

CL 有时被称为丑陋,因为#',并且大多数新手没有意识到在(我敢说)大多数情况下它是不必要的。我不是新人,但我碰巧更喜欢'foo. 为什么我不正常?如果我发布一些给funcalland符号的代码,apply我会被嘲笑和羞辱吗?我正在考虑在我的领域开始一个函数指示符匿名章节。我怀疑人们想要使用功能指示符,但由于同龄人的压力,他们害怕“出来”。

lisp common-lisp quote

5
推荐指数
2
解决办法
562
查看次数

用于对整数排序列表进行分组的惯用法?

我有一个整数的排序列表,(1 2 4 5 6 6 7 8 10 10 10).我想将它们分组,以便我得到((1) (2) (4) (5) (6 6) (7) (8) (10 10 10)).

到目前为止,我有这个,它有效:

(let ((current-group (list)) (groups (list)))
  (dolist (n *sorted*)
    (when (and (not (null current-group)) (not (eql (first current-group) n)))
      (push current-group groups)
      (setf current-group (list)))
    (push n current-group))
  (push current-group groups)
  (nreverse groups))
Run Code Online (Sandbox Code Playgroud)

但我确信必须有更多的LISPy方法来做到这一点.有任何想法吗?

lisp common-lisp

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

标签 统计

lisp ×3

common-lisp ×2

input ×1

list ×1

quote ×1

split ×1

string ×1