- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在两个分开的文件中写了两个函数,假设是文件A.lisp 和B.lisp,这两个文件都有一些用于测试的主要程序代码,A.lisp 会调用B.lisp 中的函数。这意味着直接在 A.lisp 中使用 load
方法会执行 B.lisp 中的主要代码,这是不应该发生的。在我看来,这些文件太小了,不能考虑使用诸如包之类的东西。
在 Common Lisp 中有没有类似 Python 的 if __name__ == "__main__":
的东西?只有当前文件是主模块(即正在运行的程序)时,才会执行包含在此条件中的顶级代码,但如果它作为库导入则不会执行。
最佳答案
包只是符号的命名空间。他们没有说任何关于加载或编译代码的事情。
Common Lisp 在其 ANSI Common Lisp 标准中没有库、模块甚至类似“主”模块/例程的概念。该标准定义了两个例程 PROVIDE
和 REQUIRE
。但是这些都没有很好地指定。
大多数应用程序和库使用“系统”工具来构建、指定、编译和加载代码。
有一个名为 ASDF 的“免费” . “另一个系统定义工具”。对于大多数类型的应用程序,像 ASDF 这样的工具很有用。对于原始应用程序,您可以使用 COMPILE-FILE
和 LOAD
等标准函数编写自己的工具。
Nick Levine 为 ASDF 写了一个教程(他废弃的 Lisp 书籍项目的一部分):Systems .
一些 Lisp 实现具有更广泛的功能来创建应用程序(例如,使用 Clozure Common Lisp 编写的 Mac OS X 应用程序)。
关于lisp - Common Lisp中有没有像Python的 `if __name__ == "__main_ _":`之类的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8713585/
给定一个简单的脚本,例如: #!/usr/bin/env python3 if __name__ == "__main__": print("Hello World") 如何在不执行 if _
以下这些成语(编写一个也是可执行/可运行的模块)是否具有设计模式的名称? 在 Python 中,我们也可以使用 if name == 'main': idiom 将模块编写为可执行文件: if __n
在我的 python 文件中,我有一个带有一些参数的函数,在同一个文件中,我有一个 if __name__ == "__main__" 子句,它使用一组特定的参数运行此函数(例如用户展示其功能)。就像
在一个可执行的 TCL 脚本中,我定义了一个变量,我想在另一个可执行的 TCL 脚本中导入该变量。在 Python 中,可以通过在脚本底部使用以下习语来制作组合库和可执行文件: # Library i
这个问题在这里已经有了答案: What does if __name__ == "__main__": do? (45 个答案) 关闭 8 个月前。 我看过很多关于这个的文章: if __name_
我在两个分开的文件中写了两个函数,假设是文件A.lisp 和B.lisp,这两个文件都有一些用于测试的主要程序代码,A.lisp 会调用B.lisp 中的函数。这意味着直接在 A.lisp 中使用 l
如果我有以下代码: def f(): print 'ok!' import sys sys.exit() if __name__=='__main__': import
这个问题在这里已经有了答案: What does if __name__ == "__main__": do? (45 个答案) 关闭 8 年前。 我试图理解我发现的一些读取命令行参数的代码(附在下
所以,这是我的情况。 我在 Eclipse 中使用 PyDev,在 Windows 中使用 Python 解释器版本 2.7.2。 我正在使用内置的多处理库来尝试 fork 出一堆进程来并行化一个计算
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: What does do? 我用 Python 编写脚本已经有一段时间了,我会根据需要学习更多的 Pyth
假设我有一个包含以下内容的模块: def main(): pass if __name__ == "__main__": main() 我想为下半部分编写一个单元测试(我想实现 100
在具有 __main__.py 的项目中, 而不是 # __main__.py # def main... if __name__ == "__main__": main() ...可以这样做
我有一个 unittest.TestCase 有一个非常重的设置类 如果代码作为 main 启动,我想使用模拟运行它,如果它通过导入运行,则运行完整的数据检查,如下所示: import unittes
我有一些要求,至少需要达到 80% 的线路覆盖率。我有一些文件,其中大部分代码位于 if __name__ == '__main__': 下无需测试。 我如何指示 SonarQube 从测试覆盖范围中
这个问题已经有答案了: What does if __name__ == "__main__": do? (46 个回答) 已关闭 9 年前。 另外,为什么我们要使用下划线?毕竟我将main方法定义为
我有这个文件(它没有做任何有用的工作,仅供学习): import multiprocessing,sys def parent(numproc=2): print ('at start')
我刚刚开始使用 setuptools 进行打包,似乎推荐的安装 python 脚本和一个模块的方法是指定一个调用函数名称的脚本名称,如下所示: setup( # ... entry_p
目标是有两种简单的方法来获取一些代码,比如 func.R,包含一个函数。调用 R CMD BATCH func.R 初始化函数并计算 is。在 session 中,发出 source("func.R"
我正在涉足 clojure,但在尝试确定这个常见的 python 习语的 clojure(和/或 Lisp)等价物时遇到了一些麻烦。 习语是在一个python模块的底部通常有一点测试代码,然后是运行代
有没有办法确定当前文件是否是在 Perl 源代码中执行的文件?在 Python 中,我们使用以下结构来做到这一点: if __name__ == '__main__': # This file
我是一名优秀的程序员,十分优秀!