当前位置:  开发笔记 > 开发工具 > 正文

subseq(LISP)的简单问题

如何解决《subseq(LISP)的简单问题》经验,为你挑选了1个好方法。

我刚开始使用LISP,来自C的背景.到目前为止它很有趣,虽然有一个令人难以置信的学习曲线(我也是一个emacs新手).

无论如何,我对以下代码有一个愚蠢的问题来解析来自c源的include语句 - 如果有人可以对此发表评论并建议解决方案,那将会有很大帮助.

(defun include-start ( line )
    (search "#include " line))

(defun get-include( line )
  (let ((s (include-start line)))
    (if (not (eq NIL s))
      (subseq line s (length line)))))

(get-include "#include ")

我希望最后一行能够返回

""

但实际结果是

"#include "

有什么想法吗?



1> Rainer Joswi..:
(defun include-start (line)
  "returns the string position after the '#include ' directive or nil if none"
  (let ((search-string "#include "))
    (when (search search-string line)
      (length search-string))))

(defun get-include (line)
  (let ((s (include-start line)))
    (when s
      (subseq line s))))

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有