问题标签 [scripting-language]

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.

0 投票
0 回答
67 浏览

javascript - 在 Ruby/Rails 中使用 JavaScript 作为脚本语言

我需要允许我的 RoR (3) Web 应用程序的用户使用简单的 Javascript 自定义其中的一部分。这将涉及允许他们输入一个返回 JSON 对象的函数。

然后,RoR 应用程序必须运行这个 Javascript 函数并将其结果用于进一步的处理。

请问有没有人有任何经验、例子、框架或想法来实现这一目标?

0 投票
4 回答
3334 浏览

performance - 是否有任何快速、易于嵌入且非常适合高级游戏编程的脚本语言?

首先,我知道有很多与此相关的问题,但似乎没有一个对我的具体情况有所帮助。特别是,lua 和 python 并不像我希望的那样满足我的需求。可能不存在符合我要求的语言,但在得出这个结论之前,很高兴听到更多的意见。:)

正如您可能已经猜到的那样,我需要这样一种语言来用于我正在尝试创建的游戏引擎。这个游戏引擎的目的是为用户提供构建游戏的基本工具,同时仍然让她可以自由地创建许多不同类型的游戏。

因此,脚本语言应该能够直观地处理游戏概念。除此之外,应该很容易定义各种类型,使用稍微不同的属性对它们进行子类型化,动态查询和修改对象等等。

此外,游戏开发人员应该可以处理他们在脚本语言中遇到的每一种情况。虽然渲染器和网络等基本组件将在 C++ 中实现,但特定于游戏的机制(例如围绕行星旋转数百个物体)将在脚本语言中处理。这意味着脚本语言必须非常快,1/10 C 速度可能是最低要求。

然后就是调试的问题。应该可以访问有关发生错误的函数、堆栈跟踪和变量状态的信息。

最后但同样重要的是,这是一个由一个人完成的项目。即使我愿意,我也没有足够的资源花数周时间在胶水代码上。将语言与我的项目集成应该不会比集成 lua 难多少。

检查两种建议的语言 lua 和 python,lua 速度快(luajit)且易于集成,但它的标准调试工具似乎缺乏。更糟糕的是,默认情况下 lua 根本没有类型系统。当然你可以自己实现它,但是语法总是很奇怪和不直观。

另一方面,Python 使用起来非常舒适,并且有一个基本的类系统。然而,它并不是那么容易集成,它的范式并不真正涉及类型检查,而且对于更复杂的游戏来说肯定不够快。我想再次指出,一切都将在 python 中完成。我很清楚 python 对于 90% 的代码来说可能足够快。

还有 Scala,到目前为止我还没有看到建议。Scala 似乎实际上满足了大多数要求,但是用 C 嵌入 Java VM 似乎并不容易,而且通常看起来 java 希望您围绕 java 构建应用程序,而不是相反。我也不确定 Scala 的功能范式是否适合直观的游戏开发。

编辑:请注意,这个问题不是不惜一切代价寻找解决方案。如果没有比 lua 更好的语言,我会简单地妥协并使用它(我实际上已经将这个东西链接到我的程序中)。我只是想确保在这样做之前我没有错过更合适的东西,因为 lua 对我来说远非完美的解决方案。

0 投票
1 回答
138 浏览

programming-languages - 什么脚本语言适合这个描述?

我喜欢编程语言设计/实现,我想为其中一种不太成熟的语言做出贡献。我正在寻找一种脚本语言:

  • 可嵌入
  • 动态强类型
  • 小而轻(稍后详述)
  • 用 C++ 实现

轻量级是指 Lua 之类的东西,非常小的标准库,可以轻松扩展。

还有一些我喜欢的(随机)设计原则:

  • 该语言应该有一些非常强大的内置类型,例如 python(int、float、list/array、map/dictionary、set 和 tuple)。
  • 函数是一个对象,就像在 Lua 中一样(这使得 lambda 函数变得微不足道)
  • 参数作为自动提取的元组传递。

最后也是最不重要的一点,我喜欢 C 风格的语法。


如果你想大喊“主观”、“没有最好的语言”和“不是问题”,你就误读了一个问题。我只是要求提供与上述描述相匹配的脚本语言列表。

0 投票
2 回答
1050 浏览

c++ - iOS 游戏中的脚本语言

首先,还有其他主题涵盖此主题,但它们是在 Apple 今年对其许可证进行最新更改之前发布的。

我对 Apple 的 iOS 开发者协议许可感到很困惑。它是否完全禁止在游戏编程中使用脚本语言?即使我不在运行时编译它并提供游戏包中的所有代码?

我有一个用 C++ 编写的游戏引擎,它提供了一个基于 AngelScript 的脚本层,用于简化游戏逻辑编程。只要我使用 AngelScript 进行游戏事件脚本,我就永远无法发布使用它制作的游戏,这是真的吗?

许多游戏开发人员在他们的 C++ 库/引擎/框架上放置了一个抽象层来简化游戏开发,这并没有改变游戏实际上是用 C/C++ 编写的事实。

0 投票
3 回答
204 浏览

java - 解释 Java 的脚本引擎

我记得遇到了一个开源项目,该项目构建了一个解释 Java 的 Java 脚本引擎(不,不是 Rhino,这是用于 JavaScript,它运行 Java)。如果您遇到过该项目,请分享链接。

(当然,谷歌搜索 Java 和脚本的组合会返回所有 JavaScript 结果,唉,这不是我要找的该死的谷歌!!!)

0 投票
3 回答
87 浏览

java - 非脚本语言中的类脚本行为

当我突然想到这个问题时,我正在玩 Java 中的三元运算符。在 PHP 中,我们可以使用三元运算符进行决策,然后将一些命令(或标签)放在主文档中,如下所示(PHP 手册中的一个示例。):

现在,在 Java 中是否可能出现类似的情况?就像,有什么类似于下面的代码的可能吗?

我想要的是,只有一条语句应该根据真/假值执行。我知道这可以通过使用if-else构造更好地完成,但我只是好奇并问了这个问题。

0 投票
1 回答
2219 浏览

c++ - 如何创建脚本语言

我真的很想知道我必须学习哪些知识才能从头开始创建脚本语言,可能使用 C++,也可能是 python,因为这些是我所知道的语言。

我已经搜索了类似的问题,但没有什么能接近我的要求。我打算理解语言处理,而不是自然语言,而是不关注人类可读性的脚本,只关注功能。

在没有任何技术背景的情况下,我的第一个想法是创建一种脚本语言,它可以吸收一堆逻辑语句,并利用先进的内置算法,如逻辑推理、模式识别、神经网络和统计分析,以提供大量的有用(或无用)的信息。

对不起,我的英语不好,我在网上学到了几乎所有我在这里引用的内容:D,这有点解释了我缺乏理论背景。

提前致谢。

0 投票
3 回答
29871 浏览

ruby - Ruby 是脚本语言还是解释语言?

我刚刚注意到,在 Ruby 的维基百科页面中,这种语言被定义为解释性语言。
我知道我的背景中可能缺少一些东西。
我一直都知道不需要编译器的解释语言和编译语言(需要在执行程序之前编译)之间的区别,但是脚本语言的特点是什么?
Ruby 可以定义为脚本语言吗?

谢谢并原谅我停电

0 投票
3 回答
546 浏览

python - sh 脚本等价于 python 脚本

好的,所以我有以下情况。我需要在目标 PC 上动态编辑 PYTHONPATH。现在项目的结构是:

从python我可以做,从start_script:

这可以解决问题,但我需要使用 process.Popen 启动新的 python 进程,并且对 sys.path 的更改似乎已经消失。

现在我在想一个 sh 脚本会在这里做得更好,不幸的是我在这里完全是菜鸟,不知道如何继续。sh 脚本应该基本上完成上面的 python 所做的事情,所以:

所以基本上前两个步骤是我需要帮助的。此外,如果有一种方法可以在使用 subprocess.Popen 打开的子进程上对 python 的 sys.path 进行更改,请告诉我。

0 投票
1 回答
592 浏览

oop - 非面向对象的脚本语言

非面向对象的脚本语言有什么特别的优势吗?