หัดเขียนโปรแกรมแบบบ้านๆ ตอนที่ 2 รู้จักกับภาษา Lua

บทความก่อนหน้า

เตรียมเครื่องมือ

  1. ตัวแปลภาษา สำหรับผู้ใช้ Mac หรือ Linux สามารถติดตั้งจาก package manager ได้เลยเช่น
    สำหรับ Mac
    $ brew install lua luarocks
    สำหรับ Ubuntu
    $ sudo apt-get install lua5.3 liblua5.3-dev luarocks
    (แต่ถ้า luarocks รุ่นต่ำกว่า 3 ติดตั้งแค่ lua อย่างเดียวส่วน luarocks ให้ติดตั้ง luarocks จาก source เอาตามนี้) หรือจะโหลด Lua จาก LuaBinaries ก็ได้ ส่วนผู้ใช้ Windows ง่ายที่สุดคือเปลี่ยนไปใช้ Linux หรือ Mac  แทน 😛 เอ๊ยโหลด ZeroBrane Studio มี Lua มาให้พร้อม หรือสามารถดาวน์โหลดจาก LuaBinaries ได้เช่นกัน โดยเข้าไปที่ History เลือกรุ่นที่ต้องการแล้วไปที่ Tools Executables แล้วดาวน์โหลดไฟล์ตาม OS ที่ใช้ได้เลย หรือถ้าใช้ Windows 10 สามารถติดตั้งผ่าน WSLได้โดยเปิด PowerShell เป็น administrator แล้วสั่งดังนี้
    สำหรับ WSL1
    PS C:\> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    
    แล้วรีบู๊ตเครื่อง หรือ
    สำหรับ WSL2 (Windows builds 18917 ขึ้นไป) 
    PS C:\> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    PS C:\> dism.exe /online enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    แล้วริบู๊ต จากนั้นดาวน์โหลดและติดตั้ง WSL2 Linux kernel update package จากนั้นเข้า PowerShell โหมด administrator อีกครั้งแล้วพิมพ์
    PS C:\> wsl --set-default-version 2
    หลังจากเปิดใช้งาน WSL1 หรือ WSL2 แล้วก็เลือกติดตั้ง Linux ที่ชอบจาก Microsoft Store ได้เลยเช่นลง Ubuntu 18.04 แล้วเข้าใช้งาน
    PS C:\> wsl
    $ sudo apt-get update #อัพเดตรายการแพคเกจล่าสุดก่อนติดตั้งจากนั้นทำเหมือนติดตั้งใน Linux ข้างบน
    ส่วนวิธี compile จาก source code ไม่ขอกล่าวถึง ถ้าสนใจดูได้ที่นี่
  2. ตัวจัดการมอดูล Luarocks โดยดาวน์โหลดตัวล่าสุดได้ที่นี่ 
  3. เครื่องมือในการเขียนโปรแกรม จะใช้ text editor อะไรก็ได้ แต่ถ้า IDE สำหรับ Lua ที่ดีที่สุดคือ ZeroBrane Studio ซึ่งจะมีตัวแปลภาษาและมอดูลติดตั้งมาให้บางส่วน แต่สำหรับการหัดเขียนเราจะใช้ text editor ตัวเล็กเบาๆ มาใช้ก็ได้เช่น Notepad++, Geany, Kate, SciTE, TextAdept ถ้าชอบฮาร์ดคอร์ก็ลองพวก Vim, Emacs, Nano, Micro, Howl หรือจะเอาที่หรูขึ้นมาหน่อยอย่าง Atom, VS Code ก็ได้นอกจากนี้ยังมีที่น่าสนใจให้เลือกอีกมาก
ก่อนจะเข้าหัวข้อถัดไปโปรดศึกษาเกี่ยวกับ PATH ก่อนเวลาเราจะอ้างอิงถึงตำแหน่งไฟล์หรือโฟลเดอร์ในเครื่องคอมพิวเตอร์เราจะระบุพาธตามรูปแบบของแต่ละ OS ส่วนใหญ่ก็จะใช้สองรูปแบบหลักๆ คือแบบ UNIX กับแบบ DOS ถ้าใครเข้าใจแล้วก็ข้ามไปหัวข้อต่อไปได้เลยครับ

เริ่มต้นกับ Lua

โปรแกรมหลักๆ จะมีอยู่ 2 ตัวได้แก่ lua หรือ lua53 สำหรับ Linux/Mac/WSL ( หรือ lua53.exe สำหรับ Windows ) กับ luac หรือ luac53luac53.exe สำหรับ Windows ) ตัวแรกเป็นทั้งตัวแปลภาษาและทำหน้าที่เป็น interactive shell ไปด้วยในตัว ส่วนตัวหลังเป็น compiler ทำหน้าที่แปลงโค้ดภาษา Lua เป็น binary เพื่อให้โหลดเร็วขึ้นและป้องกันการแกะโค้ดแต่เราจะใช้แค่ lua อย่างเดียวก็ได้
  *สำหรับที่ดาวน์โหลด LuaBinaries สำหรับ Windows เมื่อติดตั้ง Lua แล้ว ( สมมุติว่าแตก zip ไฟล์ลงใน C:\lua53 ข้างในจะมี 4 ไฟล์ได้แก่ lua53.dll lua53.exe luac53.exe และ wlua53.exe ) เพื่อให้เรียกใช้งานจาก command line ได้สะดวกให้กำหนดพาธด้วยคำสั่งดังนี้
C:\> setx path "%path%;c:\lua53"
หรือไม่ก็ทำ dynamic link
C:\> cd lua53
C:\lua53\> copy /b lua53.exe "%UTIL_DIR%\lua.exe"
C:\lua53\> copy /b luac53.exe "%UTIL_DIR%\luac.exe"
C:\lua53\> copy /b lua53.dll "%UTIL_DIR%\"
C:\lua53\> copy /b wlua53.exe "%UTIL_DIR%\wlua.exe"
จะได้เรียกใช้ lua.exe แทน lua53.exe
เราจะมาลอง interactive shell กันโดยเปิดโปรแกรม terminal ( หรือ cmd ใน Windows ) พิมพ์คำสั่ง lua ( lua53.exe สำหรับ Windows ) จะแสดงดังนี้
$ lua
Lua 5.3.1  Copyright (C) 1994-2015 Lua.org, PUC-Rio
> _
ทดลองพิมพ์คำสั่ง 1+2 แล้วกด Enter
> 1+2
3
ลองอย่างอื่นบ้าง
> "Hello"
Hello
> "Hello".." World!"
Hello World!
> _
ลองเขียนเป็นไฟล์ ก่อนอื่นออกจาก shell ให้พิมพ์ดังนี้
> os.exit()
จากนั้นเปิด text editor อะไรก็ได้ notepad ก็ได้แล้วพิมพ์ตามนี้

-- ส่วนนี้เป็น comment ใม่ถูกประมวลผล
--[[
ถ้ามี comment หลายบรรทัด
สามารถใส่แบบนี้ได้
]]
-- เข้าส่วนโปรแกรมโดยการแสดงผลข้อความออกหน้าจอ
local name = "Bobby"
-- print(arg1[,arg2,...,argN]) เป็นคำสั่งพิมพ์ arg1 ถึง argN ออกหน้าจอ
print("Hello " .. name, name)
print(1+2, "test")
บันทึกเป็นชื่อ hello.lua จากนั้นไปที่ terminal พิมพ์ lua ตามด้วยชื่อไฟล์ที่สร้าง
C:\test> lua.exe hello.lua
Hello Bobby     Bobby
3       test
สำหรับตอนนี้ไว้แค่นี้ก่อนตอนหน้าเราจะเริ่มเขียนโปรแกรมกันจริงๆ แล้วครับ

บทความถัดไป

ความคิดเห็น