Lua入门学习笔记

yizhihongxing

Lua入门学习笔记攻略

本文将向你介绍Lua语言的入门学习笔记,包括基本语法、数据类型、流程控制和函数等方面内容。

基本语法

Lua的基本语法和其他编程语言类似,包括注释、变量、常量、运算符、表达式等。

注释

在Lua中可以使用两个连字符 -- 进行单行注释,也可以使用 --[[--]] 进行多行注释。

-- 单行注释
--[[
多行注释
]]

变量

Lua中的变量使用前需要先声明,采用 local 或者全局变量的方式进行声明。全局变量使用 _G 表示。

local num = 10  -- 局部变量
string = "Hello, Lua!"  -- 全局变量

常量

Lua中的常量使用 const 进行声明,但是实际上并没有常量类型。习惯上使用大写字母进行表示。

PI = 3.1415926

运算符

Lua中的运算符包括算术运算符、比较运算符、逻辑运算符、连接运算符等。

a = 10
b = 20
c = a + b  -- 算术运算符
d = a == b  -- 比较运算符
e = a and b  -- 逻辑运算符
f = "Hello" .. " " .. "Lua!"  -- 连接运算符

表达式

Lua中的表达式由变量、常量和运算符组成。

num1 = 10
num2 = 20
result = num1 + num2 * 2

数据类型

Lua中的数据类型包括nil、boolean、number、string、table、function等。

nil类型

nil表示变量没有赋值,或者赋值为nil。

var = nil

boolean类型

boolean类型表示真或假,只有两个值:true和false。

a = true
b = false

number类型

number类型表示数字,包括整数和浮点数。

num1 = 10
num2 = 3.14

string类型

string类型表示字符串,使用一对单引号或者双引号表示。

str1 = 'Hello, Lua!'
str2 = "What's your name?"

table类型

table类型是Lua中的数据结构,相当于其他编程语言中的数组、哈希表等。

person = {}  -- 创建一个空table
person.name = "Tom"  -- 添加name属性
person.age = 20  -- 添加age属性

function类型

function类型表示函数,可以进行函数的定义和调用。

function add(a, b)
  return a + b
end

sum = add(10, 20)

流程控制

Lua中的流程控制包括if语句、for循环、while循环等。

if语句

if语句用于判断条件是否成立,如果成立则执行后面的代码块,否则跳过。

if score > 60 then
  print("You Passed!")
elseif score >= 50 then
  print("You need to try hard next time!")
else
  print("You Failed!")
end

for循环

for循环用于重复执行一段代码,可以是数字的循环或是遍历某些table的循环。

for i = 1, 10 do
  print(i)
end

days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}
for i, v in ipairs(days) do
  print(i, v)
end

while循环

while循环会在条件成立的情况下重复执行一段代码,直到条件不成立。

num = 1
while num <= 10 do
  print(num)
  num = num + 1
end

函数

函数可以封装一段代码,便于复用和维护。

函数的定义

函数的定义包括函数名、参数和返回值,没有返回值可以省略return。

function add(a, b)
  return a + b
end

function printName(name)
  print("Hello, " .. name .. "!")
end

函数的调用

函数的调用需要传递参数,根据返回值是否存在决定是否需要接收返回值。

sum = add(10, 20)
printName("Lua")

示例一:输出斐波那契数列前10项

function fibonacci(n)
  if n <= 0 then
    return 0
  elseif n == 1 then
    return 1
  else
    return fibonacci(n - 1) + fibonacci(n - 2)
  end
end

for i = 1, 10 do
  print(fibonacci(i))
end

示例二:计算圆的周长和面积

PI = 3.1415926

function area(radius)
  return PI * radius * radius
end

function circumference(radius)
  return 2 * PI * radius
end

r = 10
print("圆的周长为:" .. circumference(r))
print("圆的面积为:" .. area(r))

以上便是Lua入门学习笔记的完整攻略,包含了基本语法、数据类型、流程控制和函数等方面的内容,并提供了两个示例进行例证。希望对您学习Lua语言有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Lua入门学习笔记 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • node.js平台下的mysql数据库配置及连接

    下面是详细的攻略: node.js平台下的mysql数据库配置及连接 简介 MySQL是一种广泛使用的关系型数据库管理系统,在Web开发中扮演着重要的角色。而在Node.js平台下,可以通过MySQL模块提供的API来实现MySQL数据库的配置和连接。 安装 在开始之前,需要先安装mysql模块。在命令行中使用以下命令安装: npm install mysq…

    node js 2023年6月8日
    00
  • js 处理数组重复元素示例代码

    下面详细讲解一下“js 处理数组重复元素示例代码”的完整攻略。 1. 需求分析 在处理数组时,有时候需要去重,即移除数组中的重复元素。这时候我们可以使用 JavaScript 中提供的一些方法和技巧来实现。 2. 方法一:使用 Set 数据结构 Set 是 ES6 中新增的一种数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。 对于一个数组,我们…

    node js 2023年6月8日
    00
  • nodejs中实现修改用户路由功能

    下面是详细的攻略: 准备 在开始实现前,需要先安装Node.js和Express框架。步骤如下: 安装 Node.js:从 Node.js 官网 下载并安装包。 创建项目文件夹。 打开终端,进入到项目文件夹目录下。 输入以下命令安装 Express 框架: npm install express –save 其中,–save参数用于将安装的依赖项保存到项…

    node js 2023年6月8日
    00
  • nodejs的路径问题的解决

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,因为其高效、轻量、可扩展等特性,而被广泛应用于 Web 开发、服务器端开发等领域。在 Node.js 的开发过程中,经常会涉及到路径的操作,比如读取文件、创建目录等等,因此,如何解决 Node.js 的路径问题是开发者必须具备的技能之一。 路径的表示 在 Node.js …

    node js 2023年6月8日
    00
  • Nodejs文件上传、监听上传进度的代码

    下面是详细讲解“Nodejs文件上传、监听上传进度的代码”的完整攻略。 文件上传 文件上传是指将用户选择的文件传输到服务器上,以便服务器进行处理并存储。Nodejs中实现文件上传的方法有很多,下面是一种通用的实现方法: 首先,需要使用multer模块处理文件上传的请求。这个模块可以很方便地处理上传文件的解析和存储。 const express = requi…

    node js 2023年6月8日
    00
  • Node.js中常规的文件操作总结

    下面我将为你详细讲解“Node.js中常规的文件操作总结”的完整攻略。 1. 文件操作方法 Node.js中提供了一系列的文件操作方法,常用的有以下几种: 1.1 fs.access(path[, mode], callback) 用于检查文件或目录是否可访问。 const fs = require(‘fs’); fs.access(‘/path/to/fi…

    node js 2023年6月8日
    00
  • js中el表达式的使用和非空判断方法

    关于JS中el表达式的使用和非空判断方法,以下是详细攻略: 一、什么是el表达式 el表达式(Expression Language,简称EL) 是java web应用中jsp的一个脚本语言,可以用于页面上动态地展示数据。在JSP页面中,使用 ${ } 扩起来的就是el表达式。 在JS中,我们可以使用el表达式来获取页面上的数据,也可以使用el表达式来向页面…

    node js 2023年6月8日
    00
  • Node.js中路径处理模块path详解

    下面我将为你讲解“Node.js中路径处理模块path详解”的完整攻略。 一、路径处理模块path概述 路径处理模块path是Node.js内置的一个模块,主要提供了一系列关于处理路径的方法。在Node.js开发中,对于文件和文件夹的操作,我们不仅需要知道文件或文件夹的名称,还需要知道它们所存储的路径。而path模块就是专门用来处理路径的。 下面我们将介绍p…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部