从我到目前为止所读到的,bash似乎符合解释语言的定义:
echo foo调用预编译的可执行文件)bash已经编译完毕但是,我无法在维基百科的页面上找到关于解释语言的 bash 或在Google上进行大量搜索的参考.我还在Programmers Stack Exchange上找到了一个似乎暗示bash不是解释语言的页面 - 如果不是,那么它是什么?
bash shell scripting-language interpreted-language compiled-language
在我创建的许多Python应用程序中,我经常创建简单的模块,其中只包含用作配置文件的常量.另外,因为配置文件实际上是一个Python代码文件,所以我可以根据调试级别等添加简单的逻辑来更改变量.
虽然这对于内部应用程序非常有用,但我会谨慎地将这些应用程序发布到野外,因为担心会有人意外地或恶意地向文件中添加破坏性代码.使用Python作为嵌入式脚本语言也是如此.
是否有一个被认为是"安全"嵌入的Python子集?我意识到它的安全性是相当主观的.但是,Java Applet和Flash都安全地定义了它们的安全沙箱.我想知道是否有一个类似规则的Python版本?
编辑:我问的不是因为配置文件方法,而是因为我有兴趣在一个较新的应用程序中实现一些脚本/插件机制,并且不希望插件或脚本能够,比如删除文件.这超出了应用程序应该能够做的范围.
python security scripting scripting-language embedded-language
我正在为Delphi寻找一个好的免费脚本引擎.我想为应用程序添加脚本,以便我可以编写小的测试脚本.具体来说我需要:
我不需要全面的语言支持,只需要基础知识.我看到了这个:https://stackoverflow.com/questions/226135/scripting-library-for-delphi但是我假设事情已经发生了一些变化.
我想要做的就是在我的程序中添加一个备忘录组件,并在运行时向备忘录添加一个源代码片段,然后单击一个go按钮.我希望脚本能够访问我的应用程序的变量和函数.
实现这一目标的最简单方法是什么?示例程序如下.
program Project31;
uses
Forms,
Unit36 in 'Unit36.pas' {Form36};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm36, Form36);
Application.Run;
end.
Run Code Online (Sandbox Code Playgroud)
.
unit Unit36;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm36 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form36: TForm36;
implementation
{$R *.dfm}
procedure RoutineInMyApplication ;
begin
ShowMessage ('Hello from my Application') …Run Code Online (Sandbox Code Playgroud) 我知道这里有一些关于这个主题的问题,但很难找到对我所追求的有用的东西......
我也知道它可能最终完成任务,但我真的想为游戏引擎制作一个简单的脚本语言...我想在C++和我的Android Java游戏引擎中使用它...但我不喜欢我不知道从哪里开始...我曾尝试在线寻找教程,但很多需要将事物转换为字节码,虚拟机等...
我真的只是想创建可从引擎中读取一个简单的脚本语言,有一些简单的"的if/else"逻辑......简单的功能,可以从其他脚本调用等等......也许更简单的初版本...我真的不知道从哪里开始,但我知道这是我需要开始学习和理解的东西.
如果任何人都可以点我在正确的方向,并指出教程的一些链接非常简单的"制作一个简单的脚本语言游戏"之类的,甚至指出,我应该看看......我会非常感激的一些关键概念.
我更喜欢基于C语言的极简主义脚本语言,但是一旦我真正学到了更多关于它的知识,我想其具体细节就会出现.
感谢任何人都能给予的帮助.
假设我有以下所有打包的Java API blocks.jar:
public class Block {
private Sting name;
private int xCoord;
private int yCoord;
// Getters, setters, ctors, etc.
public void setCoords(int x, int y) {
setXCoord(x);
setYCoord(y);
}
}
public BlockController {
public static moveBlock(Block block, int newXCoord, int newYCoord) {
block.setCooords(newXCoord, newYCoord);
}
public static stackBlocks(Block under, Block onTop) {
// Stack "onTop" on top of "under".
// Don't worry about the math here, this is just for an example.
onTop.setCoords(under.getXCoord() + onTop.getXCoord(), under.getYCoord());
} …Run Code Online (Sandbox Code Playgroud) 我更喜欢使用脚本语言来完成简短的任务,比如一个非常简单的http机器人,批量导入/导出数据到某个地方等等......基本的丢弃脚本和简单的东西.关键是,脚本语言只是编写快速程序的有效工具.至于我在这一点上对Groovy的理解......
如果你是在Groovy编程,你wan't写一个快速脚本,你会不会被迫回到常规的Java语法(而我们知道如何能相比,脚本语言进行卷积)以做更复杂的事情?例如,如果我想做一些http脚本,我不会直接使用java语法来调用Commons HttpClient吗?对我而言,脚本语言的意义在于快速键入和强制构造.这里有另外一个东西,它似乎并不认为有被开发为常规的基于库的任何激励时,已经有这么多优秀的Java一个是在那里,从而使常规似乎是一个Java语言相关的轻微脚本功能.
所以现在我想知道我是否可以转换为Groovy作为脚本语言或继续使用更常见的脚本语言,如Perl,Python或Ruby.
我有一个小的轻量级应用程序,用作更大的解决方案的一部分.目前它是用C语言编写的,但我希望使用跨平台脚本语言重写它.该解决方案需要在Windows,Linux,Solaris,AIX和HP-UX上运行.
现有的C应用程序工作正常,但我希望有一个我可以为所有平台维护的脚本.与此同时,我不想失去很多表现,但我愿意失去一些.
脚本的启动成本非常重要.可以在每秒每分钟到多次的任何地方调用此脚本.因此,保持其内存和启动时间较低非常重要.
所以基本上我正在寻找最好的脚本语言:
可能的选择包括但不限于:bash/ksh + curl,Perl,Python和Ruby.对于这种类型的场景,您会推荐什么?
请分享您喜欢的语言链接,以便学习最好的语言.
而且,请用几句话来描述这种语言最重要的特征,它与其他语言如Lua不同.
我只是无法理解为什么重新发明另一个Lua/Python /等.也许我只是错过了一些东西......
但是我喜欢性能+脚本的想法,所以我必须理解它!
有没有人知道Erlang中脚本语言解释器(适合游戏的东西)的实现?像Javascript或Lua这样的东西会很棒.
什么是嵌入式脚本语言?它对域特定语言有哪些优势?
"许多语言都是为了通过嵌入应用程序来替换特定于应用程序的脚本语言而设计的." - 脚本语言(维基)
Javascript.NET就是这样一个例子.例如,它可以用来代替c#.但是,脚本语言和嵌入式脚本语言之间的区别是什么?此外,为什么javascript比C#或任何其他领域特定语言更令人满意?