脚本语言

esh*_*lev 7 python scripting lua programming-languages dynamic-languages

我正在寻找一个很好的脚本语言来链接到我的程序.我正在寻找两个重要的属性:

  • 脚本语言应该硬链接到可执行文件中(不需要第三方安装).这对我来说非常重要,可以简化分发.
  • 脚本应该允许一些运行时调试选项(当我在程序中运行脚本时,我想在调试器中轻松运行它,而它在我的程序的上下文中运行)

可以用python,lua或其他语言为我提供这个吗?

Sim*_*bbs 13

Lua和Python都可以提供您提到的功能,因此选择其中一个将取决于其他标准.

Lua是一种重量更轻的解决方案,它的磁盘占用空间要小得多,而且内存开销也比Python小.对于某些用途,它可能更快.Python拥有更丰富的标准库,更成熟的第三方库和更具表现力的语言.

两者都已嵌入到主要应用程序中.Python可以在Blender,OpenOffice和Civilization 4中找到.Lua可以在魔兽世界和Adobe Lightroom中找到.我建议您查看每个教程以及可用于将它们嵌入到您的应用程序中的设施,并选择最适合您大脑的设施.

  • 由于性能原因,文明5转向Lua. (2认同)

Wil*_*ill 9

Lua为此而设计:


Jud*_*den 7

通常,Lua是嵌入另一个项目的更好选择.Python作为独立平台更好,因为库支持更广泛.有关更多详细信息,请参阅Lua Versus Python.

就个人而言,我根据手头的工作经常使用这两种方法.我总是使用Lua嵌入到C/C++应用程序或从C/C++共享库(即DLL)导入的脚本功能.对于不需要低级C/C++代码的独立任务,Python始终是我的首选.


nrn*_*nrn 2

我愿意花两分钱买蟒蛇。我不知道很多细节,但是计算机图形套件搅拌机在实现 python 脚本方面做得非常出色。

据我所知,在 Blender 2.5 中,解释器是从可执行文件内部运行的,

import sys
sys.executable
Run Code Online (Sandbox Code Playgroud)

显示 /blender/blender.exe 并且有良好的调试支持,它甚至内部有一个完整的交互式解释器。

欲了解更多信息,请查看: http: //www.blender.org/