今天我们来学习Lua语法基础教程。由于篇幅过长,将分为上中下三篇进行讲解,本篇为上篇。

一、初识Lua

Lua 是一种轻量小巧的脚本语言,它用标准C语言编写并以源代码形式开放。这意味着什么呢?这意味着Lua虚拟机可以很方便的嵌入别的程序里,从而为应用程序提供灵活的扩展和定制功能。而整个Lua虚拟机编译后仅仅一百余K,经过适当的裁剪还能做到更小,十分适合嵌入式的开发。

同时,在目前脚本引擎中,Lua的运行速度占有绝对优势。这些都决定了Lua是作为嵌入式脚本的最佳选择。

在我们编写代码之前,需要做一下准备,就是:确保你输入标点符号时,用的不是中文输入法

二、第一个Lua程序

几乎所有语言的第一行代码,都是输出hello world,本教程也不意外。

Lua中,打印结果只需要使用print这个函数即可。同时,如果需要使用函数,只需要在函数名后加上双括号,同时传入你想传入的值即可。

所以,我们来执行下面的代码,打印出hello world吧!

print("hello world!")

三、输出数据

上一部分,我们知道了,在Lua中,可以使用print函数来打印你想要得到的结果。

并且还知道了,函数是指可以实现某些功能的子程序,可以使用函数名(参数)来执行。

让我们试着输出一些其他东西吧!使用多个print函数,输出自己想输出的数据。

print("测试")

print("aabcdefg")

print("xxxxx","第二个参数","第三个参数")

四、代码注释

代码注释就是在代码里,不会运行的部分。注释完全不会被运行。

这部分是为了在查看代码时,可以更好地立即现有代码含义用的。

我们可以用--开头,来写一段单行注释

也可以用--[[开头,]]结尾,写一段多行注释。

下面是注释的例子:

print("这段代码会运行")

--print("我被注释掉了,所以不会运行")

--[[

我是多行注释

不管我写多少行

都不会影响代码运行

]]

Lua语法基础教程(上篇)的更多相关文章

  1. Lua语法基础(1)---简介、基本数据类型、表达式

    我觉得我已经陷入了一个坑内.因为,安装了Lua和SublimeText3编辑器之后,怎么使自己编写的lua代码在untiy内运行起来,是个我完全不了解的机制.先放一放吧.首先,来回顾一下Lua的语法基 ...

  2. Lua语法基础(2)--基本语法、函数

    上一篇编辑编辑着,发现,缩进出了问题.作为一个不是强迫症的人,实在是忍受不了同一级内容不同缩进方式的槽点,于是重开一篇吧.(万幸,这样的文章也只有我自己看.) 第四 基本语法 赋值语句,Lua可以对多 ...

  3. Ognl 语法基础教程

    本文将力求用最简单的语言和实例,介绍一下 OGNL 的语法规则,文章主要内容参考自官方文档http://commons.apache.org/proper/commons-ognl/language- ...

  4. lua语法 - 基础篇

    1. 注释 单行注释:--,类似于C++的// 多行注释:--[[ ... ]],类似于C++的/*...*/ 2. 语句 分隔符:分号或者空格,一般多行写一起,建议用分号 语句块:do ... en ...

  5. Lua语法基础(一)

    1. 注释 -- 单行注释 --[[ 多行注释 --]] 2. 运行方式     (1)交互式运行         命令行下 lua进入交互模式     (2)命令行运行         lua + ...

  6. Lua语法基础(3)--迭代器和泛型for

    迭代器和闭包 迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素.在Lua中我们常常使用函数来描述迭代器,每次调用该函数就返回集合的下一个元素. 迭代器需要保留上一次成功调用的状态和下一次成功 ...

  7. Lua语法基础(二)

    1. 函数 1.1 函数声明 默认为全局 局部函数使用local关键字声明 1.2 参数 ...等同于Python中*args三个点表示可变参数 1.3 获取参数长度的两种方式 (1)将传入的参数.. ...

  8. Lua脚本之语法基础快速入门

    要 1.基本数据类型 2.Lua中的常用语句结构以及函数 3.Lua中的常用语句结构介绍 4.Lua中的库函数 目录[-] 一.基本数据类型 二.Lua中的常用语句结构以及函数 1.Lua中的常用语句 ...

  9. html快速入门(基础教程+资源推荐)

    1.html究竟是什么? 从字面上理解,html是超文本标记语言hyper text mark-up language的首字母缩写,指的是一种通用web页面描述语言,是用来描述我们打开浏览器就能看到的 ...

  10. WCF基础教程之异常处理:你的Try..Catch语句真的能捕获到异常吗?

    在上一篇WCF基础教程之开篇:创建.测试和调用WCF博客中,我们简单的介绍了如何创建一个WCF服务并调用这个服务.其实,上一篇博客主要是为了今天这篇博客做铺垫,考虑到网上大多数WCF教程都是从基础讲起 ...

随机推荐

  1. JVM深入学习-ClassLoader篇(一)

    初识JVM --- ClassLoader深入理解 ClassLoader.SPI机制 Class对象的理解 java在诞生之初,就有一次编译到处运行的名言,今天我们来探究一下,从java代码到cla ...

  2. CentOS 7.3离线安装 JDK,Mariadb

    1.环境准备 #链接:https://pan.baidu.com/s/1rcLrELaLHBJI0pKQQFOnNA #提取码:f1a2 2.安装 # 离线文件位置 /home/bw/# 将目标机器系 ...

  3. maven依赖拉取小技巧

    依赖对应的dependency搜索库 https://mvnrepository.com/ 前往搜索  点击对应的依赖版本复制xml的代码  然后idea中刷新maven即可拉出来

  4. python pyqt6 QPushButton 设定快捷键

      import os import sys from PyQt6.QtWidgets import QPushButton from PyQt6.QtGui import QIcon from Py ...

  5. vue打包项目版本号自加

    原因 项目每次打包后都需要改动项目版本号,这个改动每次都需要在package.json中修改version,比较麻烦,到底有没有一种打包后版本号自加的办法. 方案 版本号自加其实可以使用fs修改文件来 ...

  6. P3792 由乃与大母神原型和偶像崇拜

    题意 给定长为 \(n\) 的数组 \(a\),支持单点修改,\(q\) 次查询区间 \([l,r]\) 是否可以重排为值域上连续的一段. \(n,q\le5\times10^5,a_i\le2.5\ ...

  7. 国内加速拉取docker镜像的几种方法

    参考首页 快捷命令,使用本站代理拉取镜像,并修改回原始镜像名,在删除代理镜像名. 参考以下 docker cli 和 docker-compose.yml 修改镜像名后,继续一直使用本站代理服务未启动 ...

  8. anaconda-navigator 卡在 loading applications

    其实上学期开学就已经这样了,我又不用,再者我上课对这些依赖不大,就没管. 这几天想彻底搞定吧.现状了opencv,最后搞了半天,还是通过安装相应版本的.whl文件搞定了,无法conda install ...

  9. GRLSTM: 基于图的残差LSTM轨迹相似性计算《GRLSTM: Trajectory Similarity Computation with Graph-Based Residual LSTM》(轨迹路网融合、知识图谱嵌入、图神经网络、残差网络、点融合图、多头图注意力网络GAT、残差LSTM、点感知损失函数(图的点损失函数、轨迹的点损失函数))

    2023年10月18日,14:14. 来不及了,这一篇还是看的翻译. 论文:GRLSTM: Trajectory Similarity Computation with Graph-Based Res ...

  10. SQL Server – 冷知识 (新手)

    前言 没有系统化学一本语言或技术, 那便会被一些冷知识坑. 这里做些记入. 变量作用域 SQL 是远古语法, 声明变量在最顶部就是一条上古法则. 如果我看见有了用这个法则写 C# 或 JS 我就会杀了 ...