当前位置:网站首页>[Lua language from bronze to king] Part 2: development environment construction +3 editor usage examples
[Lua language from bronze to king] Part 2: development environment construction +3 editor usage examples
2022-06-24 07:38:00 【This is ah Mu】
Preface
In the last chapter, we introduced lua The past and this life , Although I don't see many friends , At same time, there is no recommendation and no traffic ; Most people don't think there is any nutrition , In fact, I personally don't think so :“ You like a language , Is it necessary to understand the origin of this language ; Why did the author create this language ? Which pain diseases have been solved ? Its own advantages and history ?”. At least through the translation of foreign languages to understand lua The past of language , I feel it is not easy along the way .
Java、Go、Python These popular languages are very popular , Of course! , I like them too . But I will also insist on using my spare time to record and practice about lua The article .
Lua The language supports the following systems
- Windows
- Linux
- Mac OS
linux Installation package download address :lua Development package download address
windows Installation package download address :windows Development package download address
Lua Use the officially recommended method :http://luadist.org/
Lua Development package installation
1、Mac On the computer
* Desktop mkdir luadir -- Create a... On the desktop lua Installation package folder
* Desktop cd luadir
* luadir curl -R -O http://www.lua.org/ftp/lua-5.4.3.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 349k 100 349k 0 0 35654 0 0:00:10 0:00:10 --:--:-- 48646
* luadir tar zxf lua-5.4.3.tar.gz
* luadir cd lua-5.4.3
* lua-5.4.3 make macosx test
/Library/Developer/CommandLineTools/usr/bin/make all SYSCFLAGS="-DLUA_USE_MACOSX -DLUA_USE_READLINE" SYSLIBS="-lreadline"
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lapi.o lapi.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c lcode.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lctype.o lctype.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o ldebug.o ldebug.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o ldo.o ldo.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o ldump.o ldump.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lfunc.o lfunc.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lgc.o lgc.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c llex.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lmem.o lmem.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lobject.o lobject.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lopcodes.o lopcodes.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c lparser.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lstate.o lstate.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lstring.o lstring.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o ltable.o ltable.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o ltm.o ltm.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lundump.o lundump.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lvm.o lvm.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lzio.o lzio.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lauxlib.o lauxlib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lbaselib.o lbaselib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lcorolib.o lcorolib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o ldblib.o ldblib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o liolib.o liolib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lmathlib.o lmathlib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o loadlib.o loadlib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o loslib.o loslib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lstrlib.o lstrlib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o ltablib.o ltablib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lutf8lib.o lutf8lib.c
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o linit.o linit.c
ar rcu liblua.a lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
ranlib liblua.a
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o lua.o lua.c
gcc -std=gnu99 -o lua lua.o liblua.a -lm -lreadline
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_MACOSX -DLUA_USE_READLINE -c -o luac.o luac.c
gcc -std=gnu99 -o luac luac.o liblua.a -lm -lreadline
./lua -v
Lua 5.4.3 Copyright (C) 1994-2021 Lua.org, PUC-Rio ### install ok
### Use sudo Can only be
* lua-5.4.3 sudo make install
Password:
cd src && mkdir -p /usr/local/bin /usr/local/include /usr/local/lib /usr/local/man/man1 /usr/local/share/lua/5.4 /usr/local/lib/lua/5.4
cd src && install -p -m 0755 lua luac /usr/local/bin
cd src && install -p -m 0644 lua.h luaconf.h lualib.h lauxlib.h lua.hpp /usr/local/include
cd src && install -p -m 0644 liblua.a /usr/local/lib
cd doc && install -p -m 0644 lua.1 luac.1 /usr/local/man/man1
### After the installation is successful, let's check our lua Version number
* lua-5.4.3 lua -v
Lua 5.4.3 Copyright (C) 1994-2021 Lua.org, PUC-Rio
### Version number before installation
* ~ lua -v
Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Riomac The terminal can also be accessed through homebrew To install lua:
### The installation process is omitted here brew install lua
2、Linux Centos Install on the terminal
### View this machine lua edition [[email protected] ~]# lua -v Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio ### download lua The latest version of the installation package [[email protected] ~]# curl -R -O http://www.lua.org/ftp/lua-5.4.3.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 349k 100 349k 0 0 18443 0 0:00:19 0:00:19 --:--:-- 10397 ### Unzip the installation package [[email protected] ~]# tar zxf lua-5.4.3.tar.gz ### Switch to the installation package directory [[email protected] ~]# cd lua-5.4.3 ### Test the compilation results , It can detect the previous make Missing error in compilation step , Ensure that the compilation of the service is normal [[email protected] lua-5.4.3]# make linux test make[1]: Entering directory `/root/lua-5.4.3/src' make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl" make[2]: Entering directory `/root/lua-5.4.3/src' gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_LINUX -c -o lapi.o lapi.c gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_LINUX -c lcode.c gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_LINUX -c -o lctype.o lctype.c ........................... Omit the compilation process ................................................ gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_LINUX -c -o lua.o lua.c gcc -std=gnu99 -o lua lua.o liblua.a -lm -Wl,-E -ldl gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_3 -DLUA_USE_LINUX -c -o luac.o luac.c gcc -std=gnu99 -o luac luac.o liblua.a -lm -Wl,-E -ldl make[2]: Leaving directory `/root/lua-5.4.3/src' make[1]: Leaving directory `/root/lua-5.4.3/src' make[1]: Entering directory `/root/lua-5.4.3/src' ./lua -v Lua 5.4.3 Copyright (C) 1994-2021 Lua.org, PUC-Rio ### compile ok make[1]: Leaving directory `/root/lua-5.4.3/src' ### install [[email protected] lua-5.4.3]# make install cd src && mkdir -p /usr/local/bin /usr/local/include /usr/local/lib /usr/local/man/man1 /usr/local/share/lua/5.4 /usr/local/lib/lua/5.4 cd src && install -p -m 0755 lua luac /usr/local/bin cd src && install -p -m 0644 lua.h luaconf.h lualib.h lauxlib.h lua.hpp /usr/local/include cd src && install -p -m 0644 liblua.a /usr/local/lib cd doc && install -p -m 0644 lua.1 luac.1 /usr/local/man/man1
If the following problems arise :
cd src && mkdir -p /usr/local/bin /usr/local/include /usr/local/lib /usr/local/man/man1 /usr/local/share/lua/5.4 /usr/local/lib/lua/5.4 mkdir: cannot create directory ‘/usr/local/man/man1’: File exists make: *** [install] Error 1 ## explain Obviously, it is not possible to create existing folders during installation , We can delete this existing folder Carry on make install
3、Window Installation on system Lua
① Go to github On :https://github.com/rjpcomputing/luaforwindows/releases Download the corresponding version of lua Installation package ② Unzip to D:\5.1 ③ Configure environment variables ( Look at the picture below ) ④ Input Windows+R —–> cmd —-> lua ⑤ Verify that the installation was successful ( Look at the picture below ) C:\Users\amumu>lua Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio
Configure environment variables :
Configure environment variables
Verify that the installation was successful :
Verify that the installation was successful
Lua Language development editor selection
1、IDEA Editor tools ( With mac Computer as an example )
After successful installation , It is dark purple when opened :
idea Editor
LUA The code prompts the plug-in address :https://github.com/EmmyLua/IntelliJ-EmmyLua
2、VSCode Editor tools (Visual Studio Code)
Microsoft products , One runs on Mac OS、Windows and Linux Tools above , Powerful ,Lua There are countless language plug-ins , It can also support intelligent prompts , Compile, run and other functions .
Official download address :https://code.visualstudio.com/
After successful installation, you can choose to install plug-ins that you think are good :
Then write a quick lua Script running :
local tonumber = tonumber
-- Define a table Array
local _table = {' Hello everyone !', ' I am amu children's shoes !', ' You can search wechat official account :', ' I'm amu ', '; Friends can pay attention to me !'}
-- Loop iteration
local text = ''
for i,v in ipairs(_table) do
text = text..v
end
print(text) ### Hello everyone ! I am amu children's shoes ! You can search wechat official account : I'm amu ; Friends can pay attention to me !VSCode in “Terminal” -> New Terminal, perform lua hello.lua Command run directly hello.lua Script , give the result as follows :
Running results
3、Sublime Text Editor tools
I used to write php、py The language has used this sublime Editor , It can be regarded as an artifact editor , A variety of fancy style highlighting plugins , Just like , Just can't put it down . The official can try it for free , But you can also find the cracked version on Baidu and Google .
Official download address ( It seems that you need to climb over the wall to visit ):https://www.sublimetext.com/
Official website of Chinese version :[https://sublimetextcn.com/3/][https://sublimetextcn.com/3/]
After successful installation ; install Package Control Plug in tool center :
- 1、 Keyboard press
command + shift + pCall out Command input box - 2、 Input
install Package Control, Press enter - 3、 After successful installation , The window will pop up , Just make sure
- 4、 Again using
command + shift + p, Type... In the input boxInstall Package( The first input needs to wait for the link , Seconds ) After success, the input box will appear again , Then enter the plug-in you want to install , Choose , enter , You can install the plug-in .
Write a lua Script , Execution depends on the result :
-- Loop iteration local text = ' I hope my friends will pay more attention to ah mu : Thank you for your good code , And followed me !' print(text) ### I hope my friends will pay more attention to ah mu : Thank you for your good code , And followed me ! ### command + B function Here's the picture
Here we are ,Lua The language development environment has been set up !
4、 Write our first lua Script program ( It comes from the love of our young people )
--- From the network C Written language
--- lua Version as follows
function show_love()
local i, j, k, l, m
local text = ''
-- Leave space at the beginning 5 That's ok
for i=1,5 do
text = text .. "\n"
end
-- front 3 There is a gap in the middle of the line to write
for i = 1, 3, 1 do
-- Space on the left , There are fewer spaces to the left of each next line than the previous line 2 individual 8*n-2*i
for j = 1, 32-2*i do
text = text.." "
end
-- Output small characters in the left half
for k = 1, 4 * i + 1 do
text = text.."*"
end
-- The space in the middle , There are fewer spaces in each next line than in the previous line 4 individual
for l=1, 13-4*i do
text = text.." "
end
-- Output small characters in the right half
for m=1,4*i+1 do
text = text.."*"
end
-- After the output of each line, wrap the line
text = text.."\n"
end
-- Next 3 There is no space in the middle of the line
for i = 1, 3 do
-- Space on the left 8*(n-1)+1
for j=1,24+1 do
text = text.." "
end
-- Output character small love
for k = 1, 29 do
text = text.."*"
end
-- After the output of each line, wrap the line
text = text.."\n"
end
-- Next 7 That's ok
for i=7, 1, -1 do
-- Space on the left , There are fewer spaces to the left of each next line than the previous line 2 individual 8*(n+1)-2*i
for j=1,40-2*i do
text = text.." "
end
-- There are fewer characters in each next line than in the previous line 4 individual
for k=1, 4*i-1 do
text = text.."*"
end
-- After the output of each line, wrap the line
text = text.."\n"
end
-- The space to the left of the last line
for i=1,39 do
text = text.." "
end
-- The last character is little love
text = text.."*\n"
-- Finally vacate 5 That's ok
for i=1,5 do
text = text.."\n"
end
return text
end
print(show_love())The effect is as follows
***** *****
********* *********
************* *************
*****************************
*****************************
*****************************
***************************
***********************
*******************
***************
***********
*******
***
*summary
This chapter is very simple , Let me introduce you to my friends linux、mac、windows Lower installation lua; As well as the installation and... Of three common editors lua Plug in installation , Help us quickly develop . What's the problem? , Friends can leave messages !
Okay , I'm amu , Thank you for your good code , And followed me !️ ️ ️
边栏推荐
- 6000多万铲屎官,捧得出一个国产主粮的春天吗?
- PCL 点云按比率随机采样
- [cnpm] tutorial
- [OGeek2019]babyrop
- [MySQL usage Script] clone data tables, save query data to data tables, and create temporary tables
- 选择器(>,~,+,[])
- [GUET-CTF2019]zips
- Étalonnage de la caméra (objectif et principe d'étalonnage)
- [image fusion] image fusion based on NSST and PCNN with matlab code
- L2tp/ipsec one click installation script
猜你喜欢
![[image fusion] multi focus and multi spectral image fusion based on pixel saliency and wavelet transform with matlab code](/img/78/5d8ad56d4ff1451590cc8676893f05.png)
[image fusion] multi focus and multi spectral image fusion based on pixel saliency and wavelet transform with matlab code

Étalonnage de la caméra (objectif et principe d'étalonnage)

What are the dazzling skills of spot gold?

What is the mentality of spot gold worth learning from

The fund management of London gold is more important than others

Win11 points how to divide disks? How to divide disks in win11 system?

学会使用楼宇控制系统BACnet网关没那么难

buuctf misc 从娃娃抓起

Analog display of the module taking software verifies the correctness of the module taking data, and reversely converts the bin file of the lattice array to display

软件性能测试分析与调优实践之路-JMeter对RPC服务的性能压测分析与调优-手稿节选
随机推荐
[WordPress website] 5 Set code highlight
20 not to be missed ES6 tips
JVM debugging tool -jmap
How to distinguish PAAS, IAAs and SaaS?
选择器(>,~,+,[])
[WUSTCTF2020]alison_likes_jojo
[image fusion] image fusion based on NSST and PCNN with matlab code
[image feature extraction] image feature extraction based on pulse coupled neural network (PCNN) including Matlab source code
Tutorial on simple use of Modbus to BACnet gateway
Selector (>, ~, +, [])
Session & cookie details
Tencent cloud security and privacy computing has passed the evaluation of the ICT Institute and obtained national recognition
How to select a third-party software testing company? 2022 ranking of domestic software testing institutions
[image segmentation] retinal vessel segmentation based on morphology with matlab code
基因检测,如何帮助患者对抗疾病?
[image fusion] image fusion based on directional discrete cosine transform and principal component analysis with matlab code
How to turn on win11 notebook power saving mode? How to open win11 computer power saving mode
Global and Chinese market of bed former 2022-2028: Research Report on technology, participants, trends, market size and share
What is automated testing? What software projects are suitable for automated testing?
[GUET-CTF2019]zips