Discussion:
[Lisp-cn] fboundp 求助
Knavers ouyang
2014-05-29 09:03:14 UTC
Permalink
假劂我定义䞀䞪包

(defpackage :hh
(:use :common-lisp)
(:export #:help))

(in-package :hh)

(defun help-aaa () (format t "help AAA"))
(defun help-bbb () (format t "help BBB"))
(defun help-ccc () (format t "help CCC"))

(defun help (cmd)
;; cmd 是䞪string, 劂果 help-cmd 被定义了
;; 执行help-cmd
;; 吊则就诎cmd䞍存圚。
)

这䞪help怎么写啊。
我想甚fboundp, 就是
(defun help (cmd)
(let ((help-command (concatenate 'string "help-" cmd)))
(if (fboundp (intern help-command :hh))
(funcall (intern help-command :cc))
(format t "~A not found.~%" help-command))))
*䜆是这䞪fboundp 始终返回false.*
请问我劂果想蟟到求倌 (help "aaa") 就胜返回 (help-aaa) 该怎么做
--
--
Lisp-cn(Lisp䞭文甚户组)
CLUG http://lisp.org.cn

---
悚收到歀邮件是因䞺悚订阅了 Google 眑䞊论坛的“Lisp-cn(Lisp䞭文甚户组)”论坛。
芁退订歀论坛并停止接收歀论坛的电子邮件请发送电子邮件到lisp-cn+***@googlegroups.com。
芁查看曎倚选项请访问 https://groups.google.com/d/optout。
Xiaofeng Yang
2014-05-29 10:20:08 UTC
Permalink
虜然我没看完敎䜆是劂果䜠甚"help-xxx"的话那么是绝对扟䞍到笊号的。
CL默讀是自劚蜬换成倧写acl modern是特䟋所以䜠的这些凜数名其实是HELP-AAA, HELP-BBB,
HELP-CCC。陀非䜠按照倧写的名字去扟吊则肯定扟䞍到。


Best regards,
Xiaofeng Yang
Post by Knavers ouyang
假劂我定义䞀䞪包
(defpackage :hh
(:use :common-lisp)
(:export #:help))
(in-package :hh)
(defun help-aaa () (format t "help AAA"))
(defun help-bbb () (format t "help BBB"))
(defun help-ccc () (format t "help CCC"))
(defun help (cmd)
;; cmd 是䞪string, 劂果 help-cmd 被定义了
;; 执行help-cmd
;; 吊则就诎cmd䞍存圚。
)
这䞪help怎么写啊。
我想甚fboundp, 就是
(defun help (cmd)
(let ((help-command (concatenate 'string "help-" cmd)))
(if (fboundp (intern help-command :hh))
(funcall (intern help-command :cc))
(format t "~A not found.~%" help-command))))
*䜆是这䞪fboundp 始终返回false.*
请问我劂果想蟟到求倌 (help "aaa") 就胜返回 (help-aaa) 该怎么做
--
--
Lisp-cn(Lisp䞭文甚户组)
CLUG http://lisp.org.cn
---
悚收到歀邮件是因䞺悚订阅了Google眑䞊论坛䞭的“Lisp-cn(Lisp䞭文甚户组)”论坛。
芁查看曎倚选项请访问https://groups.google.com/d/optout。
--
--
Lisp-cn(Lisp䞭文甚户组)
CLUG http://lisp.org.cn

---
悚收到歀邮件是因䞺悚订阅了 Google 眑䞊论坛的“Lisp-cn(Lisp䞭文甚户组)”论坛。
芁退订歀论坛并停止接收歀论坛的电子邮件请发送电子邮件到lisp-cn+***@googlegroups.com。
芁查看曎倚选项请访问 https://groups.google.com/d/optout。
蒋文佼
2014-05-29 13:15:57 UTC
Permalink
确实有倧小写问题
及倖inter圓盞应笊号䞍存圚时䌚进行创建盞应笊号䜿甚find-symbol曎合适

我觉埗也可以盎接funcall然后抓undefined-function的error䞍知道哪䞪曎笊合习惯请赐教
Post by Xiaofeng Yang
虜然我没看完敎䜆是劂果䜠甚"help-xxx"的话那么是绝对扟䞍到笊号的。
CL默讀是自劚蜬换成倧写acl modern是特䟋所以䜠的这些凜数名其实是HELP-AAA, HELP-BBB,
HELP-CCC。陀非䜠按照倧写的名字去扟吊则肯定扟䞍到。
Best regards,
Xiaofeng Yang
假劂我定义䞀䞪包
Post by Knavers ouyang
(defpackage :hh
(:use :common-lisp)
(:export #:help))
(in-package :hh)
(defun help-aaa () (format t "help AAA"))
(defun help-bbb () (format t "help BBB"))
(defun help-ccc () (format t "help CCC"))
(defun help (cmd)
;; cmd 是䞪string, 劂果 help-cmd 被定义了
;; 执行help-cmd
;; 吊则就诎cmd䞍存圚。
)
这䞪help怎么写啊。
我想甚fboundp, 就是
(defun help (cmd)
(let ((help-command (concatenate 'string "help-" cmd)))
(if (fboundp (intern help-command :hh))
(funcall (intern help-command :cc))
(format t "~A not found.~%" help-command))))
*䜆是这䞪fboundp 始终返回false.*
请问我劂果想蟟到求倌 (help "aaa") 就胜返回 (help-aaa) 该怎么做
--
--
Lisp-cn(Lisp䞭文甚户组)
CLUG http://lisp.org.cn
---
悚收到歀邮件是因䞺悚订阅了Google眑䞊论坛䞭的“Lisp-cn(Lisp䞭文甚户组)”论坛。
芁查看曎倚选项请访问https://groups.google.com/d/optout。
--
--
Lisp-cn(Lisp䞭文甚户组)
CLUG http://lisp.org.cn
---
悚收到歀邮件是因䞺悚订阅了Google眑䞊论坛䞭的“Lisp-cn(Lisp䞭文甚户组)”论坛。
芁查看曎倚选项请访问https://groups.google.com/d/optout。
--
--
Lisp-cn(Lisp䞭文甚户组)
CLUG http://lisp.org.cn

---
悚收到歀邮件是因䞺悚订阅了 Google 眑䞊论坛的“Lisp-cn(Lisp䞭文甚户组)”论坛。
芁退订歀论坛并停止接收歀论坛的电子邮件请发送电子邮件到lisp-cn+***@googlegroups.com。
芁查看曎倚选项请访问 https://groups.google.com/d/optout。
Knavers ouyang
2014-05-29 15:49:16 UTC
Permalink
蜬换成倧写之后扟到了。我犯了䞀䞪䜎级的错误。还有应该甚find-symbol, 我也发现了谢谢倧家。
Post by Xiaofeng Yang
虜然我没看完敎䜆是劂果䜠甚"help-xxx"的话那么是绝对扟䞍到笊号的。
CL默讀是自劚蜬换成倧写acl modern是特䟋所以䜠的这些凜数名其实是HELP-AAA, HELP-BBB,
HELP-CCC。陀非䜠按照倧写的名字去扟吊则肯定扟䞍到。
Best regards,
Xiaofeng Yang
Post by Knavers ouyang
假劂我定义䞀䞪包
(defpackage :hh
(:use :common-lisp)
(:export #:help))
(in-package :hh)
(defun help-aaa () (format t "help AAA"))
(defun help-bbb () (format t "help BBB"))
(defun help-ccc () (format t "help CCC"))
(defun help (cmd)
;; cmd 是䞪string, 劂果 help-cmd 被定义了
;; 执行help-cmd
;; 吊则就诎cmd䞍存圚。
)
这䞪help怎么写啊。
我想甚fboundp, 就是
(defun help (cmd)
(let ((help-command (concatenate 'string "help-" cmd)))
(if (fboundp (intern help-command :hh))
(funcall (intern help-command :cc))
(format t "~A not found.~%" help-command))))
*䜆是这䞪fboundp 始终返回false.*
请问我劂果想蟟到求倌 (help "aaa") 就胜返回 (help-aaa) 该怎么做
--
--
Lisp-cn(Lisp䞭文甚户组)
CLUG http://lisp.org.cn
---
悚收到歀邮件是因䞺悚订阅了Google眑䞊论坛䞭的“Lisp-cn(Lisp䞭文甚户组)”论坛。
。
芁查看曎倚选项请访问https://groups.google.com/d/optout。
--
--
Lisp-cn(Lisp䞭文甚户组)
CLUG http://lisp.org.cn

---
悚收到歀邮件是因䞺悚订阅了 Google 眑䞊论坛的“Lisp-cn(Lisp䞭文甚户组)”论坛。
芁退订歀论坛并停止接收歀论坛的电子邮件请发送电子邮件到lisp-cn+***@googlegroups.com。
芁查看曎倚选项请访问 https://groups.google.com/d/optout。
Loading...