我刚刚注意到维基百科页面中将Ruby定义为解释语言。
我明白可能是我的背景知识有所欠缺。
我一直知道解释语言和编译语言之间的区别,但是什么是脚本语言呢?
Ruby可以被定义为脚本语言吗?
谢谢,对于我的错误请谅解。
我刚刚注意到维基百科页面中将Ruby定义为解释语言。
我明白可能是我的背景知识有所欠缺。
我一直知道解释语言和编译语言之间的区别,但是什么是脚本语言呢?
Ruby可以被定义为脚本语言吗?
谢谢,对于我的错误请谅解。
事情并不是非黑即白的。至少,它们也可以是大和小、响亮和安静、蓝色和橙色、灰色和灰色、长和短、对和错等。
解释/编译只是一种分类语言的方式,完全独立于(数不胜数的其他事物之一)是否称同一种语言为“脚本语言”等。更重要的是,这是一种错误的分类:
你看,现实是一个复杂的东西 ;) 如上所述,Ruby 经常被编译。然后,在某些情况下,编译的输出被解释。还有一些实现采用 JIT 编译(Rubinius,我记得 JRuby 也在一段时间后编译成 Java 字节码)。参考实现长期以来一直是编译器,我记得现在仍然是。那么 Ruby 是解释还是编译?除非你定义它,否则这两个术语都没有意义 ;)
但回到问题本身:"脚本语言"也不是语言的属性,它取决于语言的使用方式 - 即语言是否用于脚本任务。如果你正在寻找定义,维基百科关于 "脚本语言" 的页面可能会有所帮助(只要不让它们用实现细节的注释混淆你,比如脚本通常是解释性的)。确实有一些程序使用Ruby来执行脚本任务,而且无疑有许多独立的Ruby程序可能符合脚本的资格(如网页抓取、系统管理等)。可以。
详细回答:
脚本语言通常用于控制通常不用此语言编写的应用程序。例如,shell脚本等可以调用任意控制台应用程序。
Ruby是一种通用的动态语言,经常用于脚本编程。
您可以使用反引号符号( ` )来进行任意的系统调用,如下所示。
`<system command>`
还有很多优秀的Ruby宝石,比如Watir和RAutomation,用于自动化Web和本地GUI。
关于脚本语言的定义,请参见此处。