问题标签 [scriptedmain]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
main - 如果 __name__=="__main__": main(),Factor 是否与 Python 习语等效?
与任何基于 C 的语言一样,Factor 似乎有一个主要方法:
但是Factor不会自动执行main函数;如果您./hello.factor
在终端中运行,则不会发生任何事情,因为main
没有被调用。
有谁知道 Factor 是否有像 Python 这样的语法,所以hello
实际上是调用的./hello.py
?
ocaml - OCaml 中的脚本主程序?
如何在 OCaml 中模拟这个 Python 习语?
有关其他编程语言的示例,请参阅RosettaCode。
pascal - 帕斯卡单位可以编译为可执行文件吗?
我喜欢我的库兼作可执行文件。期望的行为是:
我怎样才能:
- 编译
scriptedmain.p
成scriptedmain
二进制文件? - 阻止
test.p
运行/部分中scriptedmain.p
的代码?begin
end
脚本main.p:
当我用 编译 scriptedmain.p 时fpc scriptedmain.p
,没有创建可执行文件,因为 Pascal 检测到它是一个单元。但我希望它是除了库之外的可执行文件。
测试.p:
当我用 编译 test.p 时fpc test.p
,生成的可执行文件结合了两个begin
/end
声明(不是所需的行为)。
attributes - 有没有办法在 D 编程语言中覆盖模块的主要功能?
如果你真的需要,你可以__attribute__((weak))
在 C 中指定(参见scriptedmain)。这允许程序兼作 API 和可执行文件,允许导入 API 的代码覆盖主函数。
D有办法做到这一点吗?Python 有if __name__=="__main__": main()
,但weak
C 中的语法似乎更接近。
gcc - 在 MinGW 中使用 scriptedmain 时遇到问题
我想用 C 语言重现这个 Perl 代码,将 API 和 CLI 捆绑在同一个 C 源代码文件(scriptedmain)中。这是在 Pythonif __name__=="__main__": main()
和 gcc/Unix 中完成的,如下所示:
脚本main.h
脚本main.c
测试.c
但是,当我尝试使用 gcc/Strawberry 进行编译时,我得到:
当我尝试使用 gcc/MinGW 编译时,我得到:
如何让 GCC 在 Windows 中识别__attribute__((weak))
语法?
此外,G++ 显示相同的错误。
r - R中的脚本主要行为?
工作knitr
引入了一个新问题——我的许多R
脚本都包含图片生成代码,而当我获取代码时,绘图代码会减慢速度。
我的想法是将绘图代码移动到一个组中,该组仅在代码在上层执行时运行,并且在代码由另一个 R 脚本提供时不运行,通过source()
习语。这可能吗?
我发现了这个旧的 SO 问题,但是在我的情况下interactive()
总是TRUE
如此,所以接受的答案不起作用。
我的情况如下:我有一个文件 ,并通过将其从 发送到myKnit.rnw
运行它,使用. 因此,总是将是,并且将是非零的——因为它基本上是通过应用到临时文件来工作的。 vim
R
vim-r-plugin
interactive()
TRUE
length(sys.frames())
vim-r-plugin
base::source(...)
我正在寻找的解决方案R
相当于python
idiom if __name__ == __main__
。
因此,当通过myKnit.rnw
运行和获取源myscript.r
时source("~/R/myscript.r")
,if
计算FALSE
结果和绘图代码myscript.r
不会运行。
在 python 术语中,__name__
(或我们称之为的任何东西)在 sources 时不会是__main__
,myKnit.rnw
但当myscript.r
我myscript.r
从vim
.
示例knitr
代码:
这是来源的情节脚本:
带有系统特定标志的解决方案,反映了 Yihui 的评论