问题标签 [embedded-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 投票
13 回答
4496 浏览

python - 是否有 Python 的“安全”子集可用作嵌入式脚本语言?

在我创建的许多 Python 应用程序中,我经常创建只包含常量的简单模块,以用作配置文件。此外,因为配置文件实际上是一个 Python 代码文件,所以我可以添加简单的逻辑来根据调试级别等更改变量。

虽然这对内部应用程序非常有用,但我会警惕将此类应用程序发布到野外,因为担心有人意外或恶意地向文件添加破坏性代码。使用 Python 作为嵌入式脚本语言也是如此。

是否有一个 Python 子集被认为是“安全”的嵌入?我意识到它可以被认为是多么安全是相当主观的。但是,Java Applet 和 Flash 都有明确定义的安全沙箱。我想知道是否存在具有类似规则的 Python 版本?

编辑:我不是因为配置文件方法而要求太多,而是因为我有兴趣在较新的应用程序中实现一些脚本/插件机制并且不希望插件或脚本能够删除文件。这超出了应用程序应该能够做的范围。

0 投票
3 回答
4978 浏览

javascript - SpiderMonkey vs JavaScriptCore vs?

我有一个 C++ 桌面应用程序(用 wxWidgets 编写),我想添加对某些脚本语言的支持。

脚本主要用于用户提供的 JavaScript 代码对字符串、数字和日期的运行时转换。

我想使用 JavaScript,因为它被广泛使用并且每个人都熟悉它的语法。

谷歌搜索,似乎我有两个选择:

  • 来自 Mozilla 的 SpiderMonkey
  • 来自 WebKit 的 JavaScriptCore

有没有人试过这些?哪一个更容易设置?你知道其他一些更适合我需要的实现吗?

顺便说一句,我的目标是 Windows 和 Linux 平台。

0 投票
1 回答
8271 浏览

java - 如何在 Windows 上使用 JPL(双向 Java/Prolog 接口)?

我对在 Java 中嵌入 Prolog 解释器很感兴趣。一种选择是使用JPL,但 JPL 站点上的下载链接已损坏,并且安装页面提到了我找不到的 jpl.zip。我下载了似乎包含 JPL 的 SWI-Prolog(它在安装时将其列为组件),但我仍然不确定如何将它与 Java 一起使用。

关于如何在 Windows 上使用 JPL 的任何想法?我可以使用另一个库来实现相同的目标吗?我遇到过一些,但它们似乎不如 JPL 稳定。

0 投票
2 回答
251 浏览

string - 我可以用什么字符来引用这个 ruby​​ 字符串?

我将 JRuby 嵌入到 Java 中,因为我需要使用 Java 字符串作为参数调用一些 Ruby 方法。问题是,我正在调用这样的方法:

问题是,我不知道我可以使用哪些字符串作为分隔符,因为如果我发送给 build_string 的 ruby​​ 代码将包含 ruby​​ 代码。知道我正在使用〜,但我认为这可能会破坏我的代码。无论 ruby​​ 代码是什么,我可以使用哪些字符作为分隔符来确保我的代码能够正常工作?

0 投票
3 回答
1899 浏览

c# - 是否可以使用 DLR 加载和执行 C# 片段?

我发现的有关 DLR 的大部分材料都与 IronPython 有关。您可以使用 DLR 解析和执行 C# 吗?如果是这样,是否有开销会阻止您在具有大约 30 个用户的 Web 服务器上尝试此操作?

更具体地说,我想在用户首次启动工作流时编写我的工作流对象的配置脚本。根据全年变化的条件,工作流程可能从不同的步骤开始,因此运行配置脚本似乎是处理变化的好方法。

0 投票
2 回答
124 浏览

c# - 哪些因素促使您在应用程序中使用嵌入式脚本?

当您选择嵌入式脚本时,您在决策过程中会考虑哪些因素?配置和变化问题是否可以完全通过 IOC 和插件模式来克服?

很多时候,策略模式和装饰器模式是驯服领域逻辑变化的好方法。我面临的问题是,工作流的计算和起点会根据不同的营销活动在一年中有所不同,并且直到活动开始之前才知道所有数据要求和业务规则。作为一家小商店,我们希望有一个解决方案,我们可以在其中进行配置更改、严格测试,而不是被迫不断地编译/链接和重新部署。

0 投票
3 回答
2281 浏览

php - PHP 的嵌入式脚本语言?

我想知道是否有人知道可以嵌入到 php 中的不错的脚本语言?Javascript 将是最受欢迎的,尽管有几次尝试,但它们要么过于不稳定/缓慢/过时(phpjs、j4p5),要么在共享主机上启动和运行非常痛苦(pecl spidermonkey)。

背景是:我想要一种用于控制服务器上的 php 的语言,但它也应该支持一些逻辑,所以 yaml、xml 或 json 是不够的。我查看了 LUA 解释器和 mediakwiki 的“Winter”,但它们要么依赖外部引擎,要么具有任何强大的绑定。

pecl spidermonkey 绑定似乎是最完整的,您可以将变量、函数和整个对象注册到 js 引擎。有谁知道任何可能接近我正在寻找的系统或语言?

最好的

罗尔夫

0 投票
1 回答
330 浏览

vb.net - 应用程序中的 vbscript 有哪些替代品?

我维护的一个应用程序自 VB6 天以来一直存在 - 移植到 .Net 1.1,现在正在更新/重写到 .Net 3.5

该应用程序提供了一种运行 VBScripts 的机制——这是以高度集成的方式完成的——允许程序解析多个 .vbs 文件并生成所有子例程和函数的列表——然后这些子程序和函数在应用程序中与核心函数一起可用。

以前这是一个嵌入式 msscript.ocx - 在第一次 .Net 转换中,它被包装在 Interop.MSScriptControl.dll 中,但是,在 Windows 7 上,这不起作用。

看起来这确实不是这样做的方式 - 微软似乎试图杀死 vbscript。

是否有使用 VBScript 的“支持”方式,或者是时候继续前进了?如果是这样,有什么地方可以提供相同的功能?

0 投票
3 回答
2550 浏览

c++ - python对象到本机c ++指针

我正在玩弄将python用作我正在从事的项目的嵌入式脚本语言的想法,并且大多数事情都在工作。但是我似乎无法将 python 扩展对象转换回本机 c++ 指针。

所以这是我的课:

增强包装:

和python代码:

现在我可以通过这样做来调用第一个函数:

但是,当我尝试将 Alpha 类转换回其基类(上面的最后一行)时,我得到一个 boost 错误:

我在网上做了很多搜索,但无法弄清楚如何将 Alpha 对象转换为其基类指针。我可以将它保留为对象,而是将其作为指针,以便一些非 python 感知代码可以使用它。有任何想法吗?

0 投票
2 回答
5963 浏览

python - 在对象上调用方法

给定一个指向 python 对象的 PyObject*,我如何调用其中一个对象方法?该文档从未给出这样的示例:

这将相当于