相当于 python 习语的普通 lisp
common lisp equivalent of a python idiom
如何 运行 在 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")
。
如何在不使用包名称限定的情况下直接访问函数?
你想做的很简单:
(import 'split-sequence:split-sequence)
这在 REPL 中工作得很好,但如果你想组织你的符号,你最好依赖包。
(defpackage #:my-package
(:use #:cl)
(:import-from #:split-sequence
#:split-sequence))
第一个̀split-sequence
是包,后面是所有应该导入的符号。在 DEFPACKAGE
形式中,人们通常使用关键字或像上面那样的 uninterned 符号,以避免在当前包中插入符号。或者,您可以使用字符串,因为只有符号的名称很重要:
(defpackage "MY-PACKAGE"
(:use "CL")
(:import-from "SPLIT-SEQUENCE" "SPLIT-SEQUENCE"))
如何 运行 在 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")
。
如何在不使用包名称限定的情况下直接访问函数?
你想做的很简单:
(import 'split-sequence:split-sequence)
这在 REPL 中工作得很好,但如果你想组织你的符号,你最好依赖包。
(defpackage #:my-package
(:use #:cl)
(:import-from #:split-sequence
#:split-sequence))
第一个̀split-sequence
是包,后面是所有应该导入的符号。在 DEFPACKAGE
形式中,人们通常使用关键字或像上面那样的 uninterned 符号,以避免在当前包中插入符号。或者,您可以使用字符串,因为只有符号的名称很重要:
(defpackage "MY-PACKAGE"
(:use "CL")
(:import-from "SPLIT-SEQUENCE" "SPLIT-SEQUENCE"))