小编z_a*_*xis的帖子

按值对哈希表进行排序的最佳方法是什么?

现在我必须在排序之前将hastable复制到列表中:

(defun good-red ()
  (let ((tab (make-hash-table)) (res '()))
    (dotimes (i 33) (setf (gethash (+ i 1) tab) 0))
    (with-open-file (stream "test.txt")
        (loop for line = (read-line stream nil)
             until (null line)
             do
                (setq nums (butlast (str2lst (substring line 6))))
                (dolist (n nums) (incf (gethash n tab)))
                ))
    **(maphash #'(lambda (k v) (push (cons k v) res)) tab)**
    (setq sort-res (sort res #'< :key #'cdr))
    (reverse (nthcdr (- 33 18) (mapcar #'car sort-res))) ))
Run Code Online (Sandbox Code Playgroud)

顺便说一句,获取列表的前N个元素的更好方法是什么?

lisp clisp

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

在项目之间共享模块的规范方法是什么?

假设有三个项目A,B和C.C中的模块将由A和B共享.因为没有java的CLASSPATH,所以在从C导入模块时是否需要使用绝对路径?

任何建议表示赞赏!

haskell

6
推荐指数
2
解决办法
129
查看次数

是否使用OCaml开发了Window Manager?

Haskell有XMonad,CommonLisp有StampWM.如果有一个使用OCaml开发,那么它应该比这两个更快.

祝商祺!

ocaml

5
推荐指数
3
解决办法
1111
查看次数

有没有ocsigen书?

现在我们已成功使用ocsigen来托管旧的python cgi应用程序.但是,我们需要详细研究ocsigen,以决定是否使用OCaml语言开发新的Web应用程序.

任何建议表示赞赏!

ocaml ocsigen

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

奇怪的路径名?

* (make-pathname :name "cgi-bin/")
#P"cgi-bin/"
* (merge-pathnames "nav.py" #P"cgi-bin/")
#P"cgi-bin/nav.py"    ; **it is ok**
* (merge-pathnames "nav.py" (make-pathname :name "cgi-bin/"))
#P"nav.py"            ; why ?

*(defvar bp #P"/media/E/myapp/cgi-bin/")
* bp
#P"/media/E/myapp/cgi-bin/")
* (merge-pathnames "nav.py" bp)
#P"nav.py"            ; why ?
* (merge-pathnames "nav.py" #P"/media/E/myapp/cgi-bin/")
#P"/media/E/myapp/cgi-bin/nav.py"    ; **it is ok**
Run Code Online (Sandbox Code Playgroud)

我使用的是sbcl-1.0.54.

任何建议表示赞赏!

lisp sbcl common-lisp

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

什么是"| ...... |" 代表?

:|temp files|以下代码片段的含义是什么?

(defmethod acceptor-remove-session ((acceptor my-site-acceptor) (session t))
    (declare (ignore acceptor))
    (loop for path in (session-value :|temp files|)
     do
         (ignore-errors (delete-file path))))
Run Code Online (Sandbox Code Playgroud)

common-lisp

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

为什么不能运行?

钢筋位于当前目录中.

$ls -l rebar
--rwxr-xr-x  1 ***  wheel  90778  8  6 23:05 rebar*
$./rebar
escript: no such file or directory: './rebar'

$whereis escript
escript: /usr/local/bin/escript
Run Code Online (Sandbox Code Playgroud)

我使用的是FreeBSD 9.0.

谢谢!

erlang rebar erlang-escript

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

如何使用CL实现`tail`命令?

"with-open-file"将从文件的开头读取.如果文件非常大,如何有效地读取最后20行?

祝商祺!

common-lisp

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

什么是B意味着什么?

在toplevel,我得到以下输出:

#`B
- : [> `B ] = `B
Run Code Online (Sandbox Code Playgroud)

那么什么是B意味着什么?我们为什么需要它?

祝商祺!

ocaml

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

"共享"在〜/ .cabal/config中的含义是什么?

我想"共享"会cabal install更快,对吧?shared的默认值为False.我们应该使用True还是False进行共享?

谢谢!

haskell cabal

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

标签 统计

common-lisp ×3

ocaml ×3

haskell ×2

lisp ×2

cabal ×1

clisp ×1

erlang ×1

erlang-escript ×1

ocsigen ×1

rebar ×1

sbcl ×1