常见的lisp相当于一个python习语

时间:2016-06-05 18:32:40

标签: python lisp common-lisp

如何在Lisp中运行等效的Python命令

from lib import func

例如,我想使用split-sequence包,特别是我只想要该包中的split-sequence方法。

目前,我必须将其用作(split-sequence:split-sequence #\Space "this is a string")

但我想做的是(split-sequence #\Space "this is a string")

如何直接访问该功能而不使用包名称进行限定?

1 个答案:

答案 0 :(得分:7)

您想要做的只是:

(import 'split-sequence:split-sequence)

这在REPL中工作正常,但如果你想组织你的符号,你最好依赖包。

(defpackage #:my-package 
   (:use #:cl)
   (:import-from #:split-sequence 
                 #:split-sequence))

第一个split-sequence是包,后跟所有应导入的符号。在DEFPACKAGE表单中,人们通常使用上述关键字或未加密符号,以避免当前包中的内部符号。或者,您可以使用字符串,因为只有符号的名称很重要:

 (defpackage "MY-PACKAGE"
   (:use "CL")
   (:import-from "SPLIT-SEQUENCE" "SPLIT-SEQUENCE"))