徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

Lua

指数 Lua

Lua()程序设计语言是一个简洁、轻量、可扩展的脚本语言,Lua在葡萄牙语中的意思是月亮。.

25 关系: 原型程式設計垃圾回收 (計算機科學)协程多重编程范式子程序字符串命名空间函數程式語言C++CLU继承 (计算机科学)编程语言面向对象程序设计跨平台过程式编程闭包 (计算机科学)脚本语言腳本Io (编程语言)MIT許可證NodeMCUScheme指令式編程浮点数

原型程式設計

原型程式設計(prototype-based programming)或称为--、原型编程,是面向对象编程的子系统和一种方式。在原型编程中,类不是实时的,而且行为重用(通常认为继承自基于类的语言)是通过复制已经存在的原型对象的过程实现的。这个模型一般被认为是 classless、面向原型、或者是基于实例的编程。 原型编程最初的(也是最经典的)例子是编程语言 Self,它是由 David Ungar 和 Randall Smith 开发的。但是 classless 编程方式最近变得越来越受欢迎,并且被 JavaScript、Squeak (当使用观察者框架操作 Morphic 组件时)、Cecil、NewtonScript、Io、MOO、REBOL 还有一些其他的程序语言所采纳。.

新!!: Lua和原型程式設計 · 查看更多 »

垃圾回收 (計算機科學)

垃圾回收(Garbage Collection),在計算機科學中,縮寫為GC是一種自動的記憶體管理機制。當一個電腦上的動態記憶體不再需要時,就應該予以釋放,以讓出記憶體,這種記憶體資源管理,稱為垃圾回收。垃圾回收器可以讓程式員減輕許多負擔,也減少程式員犯錯的機會。垃圾回收最早起源于LISP语言。目前許多語言如Smalltalk、Java、C#和D语言都支援垃圾回收器。.

新!!: Lua和垃圾回收 (計算機科學) · 查看更多 »

协程

与子例程一样,协程也是一种程序组件。相对子例程而言,协程更为一般和灵活,但在实践中使用没有子例程那样广泛。协程源自Simula和Modula-2语言,但也有其他语言支持。协程更适合于用来实现彼此熟悉的程序组件,如合作式多任务,迭代器,无限列表和管道。 协程最初在1963年被提出。.

新!!: Lua和协程 · 查看更多 »

多重编程范式

多范式编程语言(Multi-paradigm programming language)是一種可以支持超過一種編程范型的程式語言。「Multi-paradigm」这个词是由比雅尼·斯特劳斯特鲁普博士在其著作中提出的,用于表述C++可以同时使用多种风格来写程序,比如面向对象和泛型编程。.

新!!: Lua和多重编程范式 · 查看更多 »

子程序

在计算机科学中,子程式(Unterprogramm, Subroutine, procedure, function, routine, method, subprogram, callable unit),是一個大型程式中的某部份程式碼,由一个或多个语句块组成。它負責完成某項特定--,而且相較於其他程式碼,具備相對的獨立性。 一般会有输入参数并有--,提供对过程的封装和细节的隐藏。这些代码通常被整合为软件库。 函数在-zh:程序導向;zh-tw:程序導向;zh-cn:面向过程-的语言中已经出现。是结构(Struct)和-zh:類別;zh-tw:類別;zh-cn:类-(Class)的前身。本身就是对具有相关性语句的归类和对某过程的抽象。.

新!!: Lua和子程序 · 查看更多 »

字符串

字符串(String),是由零个或多个字符组成的有限序列。一般记为s.

新!!: Lua和字符串 · 查看更多 »

命名空间

命名空间(Namespace,名前空間),也称名字空间、名称空间等,它表示着一个标识符(identifier)的可见范围。一个标识符可在多个命名空间中定义,它在不同命名空间中的含义是互不相干的。这样,在一个新的命名空间中可定义任何标识符,它们不会与任何已有的标识符发生冲突,因为已有的定义都处于其他命名空间中。 例如,设Bill是X公司的员工,工号为123,而John是Y公司的员工,工号也是123。由于两人在不同的公司工作,可以使用相同的工号来标识而不会造成混乱,这里每个公司就表示一个独立的命名空间。如果两人在同一家公司工作,其工号就不能相同了,否则在支付工资时便会发生混乱。 这一特点是使用命名空间的主要理由。在大型的计算机程序或文档中,往往会出现数百或数千个标识符。命名空间(或类似的方法,见“命名空间的模拟”一节)提供一隱藏區域標識符的機制。通过将逻辑上相关的标识符组织成相应的命名空间,可使整个系统更加模块化。 在编程语言中,命名空间是对作用域的一种特殊的抽象,它包含了处于该作用域内的标识符,且本身也用一个标识符来表示,这样便将一系列在逻辑上相关的标识符用一个标识符组织了起来。许多现代编程语言都支持命名空间。在一些编程语言(例如C++和Python)中,命名空间本身的标识符也属于一个外层的命名空间,也即命名空间可以嵌套,构成一个命名空间树,树根则是无名的全局命名空间。 函数和类的作用域可被視作隱式命名空间,它們和可見性、可訪問性和对象生命周期不可分割的联系在一起。.

新!!: Lua和命名空间 · 查看更多 »

函數程式語言

函數式編程(functional programming)或称函数程序设计,又稱泛函編程,是一種編程典範,它將電腦運算視為數學上的函數計算,並且避免使用程序状态以及易变物件。函數程式語言最重要的基礎是λ演算(lambda calculus)。而且λ演算的函數可以接受函數當作輸入(引數)和輸出(傳出值)。 比起指令式編程,函數式編程更加強調程序执行的结果而非执行的过程,倡导利用若干简单的执行单元让计算结果不断渐进,逐层推导复杂的运算,而不是设计一个复杂的执行过程。.

新!!: Lua和函數程式語言 · 查看更多 »

C++

C++是一種使用廣泛的计算机程序設計語言。它是一種通用程序設計語言,支援多重编程模式,例如程序化程序設計、数据抽象、面向对象程序設計、泛型程序設計和设计模式等。 比雅尼·斯特勞斯特魯普博士在贝尔实验室工作期间在20世紀80年代發明並實現了C++。起初,這種語言被稱作“C with Classes”(“包含‘類’的C語言”),作為C語言的增強版出現。随后,C++不斷增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多繼承(multiple inheritance)、标准模板库(standard template library, STL)、异常处理(exception)、运行时类型信息(Runtime type information)、命名空間(namespace)等概念逐漸納入標準。1998年,國際標準組織(ISO)頒布了C++程序設計語言的第一個國際標準ISO/IEC 14882:1998,目前最新标准为ISO/IEC 14882:2017。根據《C++編--程思想》(Thinking in C++)一書,C++與C的代码执行效率往往相差在±5%之間。 C++語言發展大概可以分為三個階段:第一階段從80年代到1995年。這一階段C++語言基本上是傳統類型上的面向对象語言,並且憑藉着接近C語言的效率,在工業界使用的開發語言中佔據了相當大份額;第二階段從1995年到2000年,這一階段由於標準模板庫(STL)和後來的Boost等程式庫的出現,泛型程序設計在C++中佔據了越來越多的比重。當然,同時由於Java、C#等語言的出現和硬體價格的大規模下降,C++受到了一定的衝擊;第三階段從2000年至今,由於以Loki、MPL(Boost)等程式庫為代表的產生式編程和模板元編程的出現,C++出現了發展歷史上又一個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程序設計語言中最複雜的一員。.

新!!: Lua和C++ · 查看更多 »

CLU

CLU 是一门由麻省理工学院(MIT)的芭芭拉·利斯科夫和她的学生在1974年到1975年创造的编程语言。虽然它没有被广泛使用,但它引入了许多现在广泛使用的特性,并被视为面向对象(OOP)编程发展的重要一步。 然而,它并不是面向对象的,而是被认为基于对象的语言,因为它缺乏OOP的许多特性。 主要贡献包括抽象資料型別, 传需求调用,迭代器,多值返回 (并行赋值形式), 泛型,和不定型別。值得注意的是它使用了类与构造器和方法,但没有 继承。.

新!!: Lua和CLU · 查看更多 »

類可以指:.

新!!: Lua和类 · 查看更多 »

继承 (计算机科学)

继承(inheritance)是面向对象软件技术当中的一个概念。如果一个类別B「继承自」另一个类別A,就把这个B称为「A的子类」,而把A称为「B的父类別」也可以称「A是B的超类」。继承可以使得子类具有父类別的各种属性和方法,而不需要再次编写相同的代码。在令子类別继承父类別的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类別的原有属性和方法,使其获得与父类別不同的功能。另外,为子类追加新的属性和方法也是常见的做法。 一般靜態的物件導向程式語言,繼承屬於靜態的,意即在子類別的行為在編譯期就已經決定,無法在執行期擴充。 有些编程语言支持多重继承,即一个子类可以同时有多个父类別,比如C++编程语言;而在有些编程语言中,一个子类只能继承自一个父类別,比如Java编程语言,这时可以利用接口来实现与多重继承相似的效果。 現今物件導向程式設計技巧中,繼承並非以繼承類別的「行為」為主,而是繼承類別的「型態」,使得元件的型態一致。另外在設計模式中提到一個守則,「多用合成,少用繼承」,此守則也是用來處理繼承無法在執行期動態擴充行為的遺憾。.

新!!: Lua和继承 (计算机科学) · 查看更多 »

编程语言

编程语言(programming language),是用来定义计算机程序的形式語言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 最早的编程语言是在電腦發明之前產生的,當時是用來控制及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的编程語言,而且每年仍有新的编程語言誕生。很多编程語言需要用指令方式說明計算的程序,而有些编程語言則屬於宣告式編程,說明需要的結果,而不說明如何計算。 编程语言的描述一般可以分為及語義。語法是說明編程語言中,哪些符號或文字的組合方式是正確的,語義則是對於編程的解釋。有些語言是用規格文件定義,例如C語言的規格文件也是ISO標準中一部份,2011年後的版本為ISO/IEC 9899:2011,而其他55語言(像Perl)有一份主要的文件,視為是。.

新!!: Lua和编程语言 · 查看更多 »

面向对象程序设计

面向对象程序设计(Object-oriented programming,缩写:OOP)是種具有物件概念的程式編程典範,同时也是一种程序开发的抽象方针。它可能包含資料、、程式碼與方法。对象則指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,物件裡的程序可以訪問及經常修改物件相關連的資料。在物件導向程式編程裡,電腦程式會被設計成彼此相關的物件。 面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传统的程序设计主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,即对象。目前已经被证实的是,面向对象程序设计推广了程序的灵活性和可维护性,并且在大型项目设计中广为应用。此外,支持者声称面向对象程序设计要比以往的做法更加便于学习,因为它能够让人们更简单地设计并维护程序,使得程序更加便于分析、设计、理解。反对者在某些领域对此予以否认。 当我们提到面向对象的时候,它不仅指一种程序设计方法。它更多意义上是一种程序开发方式。在这一方面,我们必须了解更多关于面向对象系统分析和面向对象设计(Object Oriented Design,简称OOD)方面的知识。許多流行的程式語言是物件導向的,它們的風格就是會透由物件來創出實例。 重要的物件導向程式語言包含Common Lisp、Python、C++、Objective-C、Smalltalk、Delphi、Java、Swift、C#、Perl、Ruby 與 PHP等。.

新!!: Lua和面向对象程序设计 · 查看更多 »

跨平台

跨平台泛指编程语言、软件或硬件设备可以在多种作業系統或不同硬體架構的電腦上運作。.

新!!: Lua和跨平台 · 查看更多 »

过程式编程

过程式程序设计(Procedural programming),又稱程序式編程、程序化編程,一種編程典範,有時會被視為是指令式編程的同義語。衍生自結構化編程(Structured programming),主要採取程序呼叫(procedure call)或函式呼叫(function call)的方式來進行流程控制。流程則由包涵一系列運算步驟的程序(Procedures),常式(routines),子程序(subroutines), 方法(methods),或函式(functions)來控制。在程式執行的任何一個時間點,都可以呼叫某個特定的程序。任何一個特定的程序,也能被任意一個程序或是它自己本身呼叫。 著名的例子有Linux內核,git,以及Apache HTTP Server等。 Category:編程典範.

新!!: Lua和过程式编程 · 查看更多 »

闭包 (计算机科学)

在计算机科学中,闭包(Closure),又稱词法闭包(Lexical Closure)或函數閉包(function closures),是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。 闭包的概念出现于60年代,最早实现闭包的程序语言是Scheme。之后,闭包被广泛使用于函数式编程语言如ML语言和LISP。很多命令式程序语言也开始支持闭包。 在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。运行时,一旦外部的 函数被执行,一个闭包就形成了,闭包中包含了内部函数的代码,以及所需外部函数中的变量的引用。其中所引用的变量称作上值(upvalue)。 闭包一词经常和匿名函数混淆。这可能是因为两者经常同时使用,但是它们是不同的概念。.

新!!: Lua和闭包 (计算机科学) · 查看更多 »

脚本语言

脚本语言(Scripting language)是为了缩短传统的「编写、编译、链接、运行」(edit-compile-link-run)过程而创建的计算机编程语言。早期的脚本语言经常被称为批处理语言或工作控制语言。一个脚本通常是解释运行而非编译。脚本語言通常都有簡單、易學、易用的特性,目的就是希望能讓程式設計師快速完成程式的編寫工作。而巨集語言則可視為脚本語言的分支,兩者也有實質上的相同之處。 虽然许多脚本语言都超越了计算机简单任务自动化的领域,成熟到可以编写精巧的程序,但仍然还是被称为脚本。几乎所有计算机系统的各个层次都有一种脚本语言。包括操作系统层,如计算机游戏,网络应用程序,字处理文档,网络软件等。在许多方面,高级编程语言和脚本语言之间互相交叉,二者之间没有明确的界限。.

新!!: Lua和脚本语言 · 查看更多 »

腳本

腳本(Script)可以指:.

新!!: Lua和腳本 · 查看更多 »

Io (编程语言)

Io语言是一门计算机高级编程语言,其发展历史并不长,2002年3月7日由Steve Dekorte研发出来。 Io语言因为没有关键字,因而很容易进行扩展,并很灵活。.

新!!: Lua和Io (编程语言) · 查看更多 »

MIT許可證

MIT授權條款(The MIT License)是許多軟體授權條款中,被廣泛使用的其中一種。與其他常見的軟體授權條款(如GPL、LGPL、BSD)相比,MIT是相對寬鬆的軟體授權條款。.

新!!: Lua和MIT許可證 · 查看更多 »

NodeMCU

NodeMCU,是一个开源https://github.com/nodemcu/的物联网平台。 它使用Lua脚本语言编程。该平台基于eLua http://www.eluaproject.net/开源项目,底层使用ESP8266 sdk 0.9.5版本。该平台使用了很多开源项目, 例如 lua-cjsonhttps://github.com/mpx/lua-cjson/, spiffshttps://github.com/pellepl/spiffs.

新!!: Lua和NodeMCU · 查看更多 »

Scheme

Scheme是一种函数式编程语言,是Lisp的两种主要方言之一(另一种为Common Lisp)。不同于Common Lisp,Scheme遵循極簡主義哲学,以一个小型语言核心作为标准,加上各种强力语言工具(语法糖)来扩展语言本身。 麻省理工學院與其他院校曾采用Scheme教授计算机科学入門課程。著名的入門教材《-zh-hans:计算机程序的构造和解释;zh-hant:電腦程式的構造和解釋-》(SICP)利用Scheme來解釋程序設計 。Scheme的廣泛受眾被視為一個主要優勢,然而不同實現之間的差異成為了它的一個劣勢。 Scheme最早由麻省理工學院的蓋伊·史提爾二世與傑拉德·傑伊·薩斯曼在1970年代發展出來,並由兩人發表的「λ論文集」推廣開來。 Scheme語言與λ演算關係十分密切。小寫字母「λ」是Scheme語言的標誌。 Scheme的哲学是:设计计算机语言不应该进行功能的堆砌,而应该尽可能减少弱点和限制,使剩下的功能显得必要。Scheme是第一個使用靜態作用域的Lisp方言,也是第一个引入“干净宏”和第一类续延的编程语言。.

新!!: Lua和Scheme · 查看更多 »

指令式編程

指令式編程(Imperative programming),是一種描述電腦所需作出的行為的編程典範。幾乎所有電腦的硬體工作都是指令式的;幾乎所有電腦的硬體都是設計來執行機器碼,使用指令式的風格來寫的。較高階的指令式編程語言使用變數和更複雜的語句,但仍依從相同的典範。菜譜和行動清單,雖非電腦程式,但與指令式編程有相似的風格:每步都是指令,有形的世界控制情況。因為指令式編程的基礎觀念,不但概念上比較熟悉,而且較容易具體表現於硬體,所以大部分的編程語言都是指令式的。 大部分的高级语言都支援四種基本的語句:.

新!!: Lua和指令式編程 · 查看更多 »

浮点数

在計算機科學中,浮點(floating point,縮寫為FP)是一種對於實數的近似值數值表現法,由一个有效數字(即尾数)加上冪數來表示,通常是乘以某个基数的整数次指數得到。以這種表示法表示的數值,稱為浮点數(floating-point number)。利用浮點進行運算,稱為浮点计算,這種运算通常伴随着因为无法精确表示而进行的近似或舍入。 計算機使用浮點數運算的主因,在於電腦使用二進位制的運算。例如:4÷2.

新!!: Lua和浮点数 · 查看更多 »

重定向到这里:

Lua (programming language)Lua (编程语言)Lua语言

传出传入
嘿!我们在Facebook上吧! »