วันพุธที่ 1 สิงหาคม พ.ศ. 2561

Syntax : ไวยากรณ์พื้นฐานของ Lua ลัว

วิธีการเขียนโปรแกรม Lua ลัว

ลัวสามารถเขียนโปรแกรมได้ 2 โหมด คือ Interactive และ Script file
Interactive เป็นการเขียนโปรแกรมโดยการป้อนและรันคำสั่งทีละบรรทัด เมื่อเปิด SciTe ขึ้นมาให้เรียกใช้หน้าจอ Command line จะแสดงอยู่ด้านล่างดังรูป จากนั้นให้ทดลองเขียนโปรแกรมพิมพ์ข้อความว่า Hello World! แล้วจะแสดงผลลัพธ์โต้ตอบกลับมาทันทีดังรูป



Script file หรือ Default Mode เป็นการเขียนโปรแกรมที่มีโค้ดคำสั่งติดกันหลายบรรทัด จากนั้นจะเซฟเป็นไฟล์นามสกุล .lua ในตัวอย่างคือ test1.lua แล้วสั่งรัน จากนั้นอินเตอร์พรีเตอร์จะแปลภาษาทีละบรรทัดไปจนจบทั้งหมดแล้วจึงแสดงผลลัพธ์ออกมา ดังรูป จะใช้คำสั่ง print พิมพ์ข้อความ 3 บรรทัด เมื่อรันโปรแกรม จะแสดงผลลัพธ์พิมพ์ข้อความออกมา 3 บรรทัดในครั้งเดียว



Syntax ไวยากรณ์ Lua

1. เขียนหนึ่งคำสั่งหรือสเตตเมนต์ละหนึ่งบรรทัด ไม่ต้องมีเครื่องหมายปิดท้าย ดังตัวอย่างจะเขียนโปรแกรมในโหมด Interactive ให้ตัวแปร b เก็บข้อความ Hello Lua จากนั้นใช้คำสั่ง print ข้อความที่เก็บอยู่ในตัวแปร b ออกมาแสดงผลเป็น 'Hello Lua' (โค้ดที่มี > อยู่ด้านหน้าคำสั่งแสดงว่ากำลังเขียนโปรแกรมอยู่ในโหมด Interactive)

> b = "Hello Lua"
> print(b)
'Hello Lua'

จากโค้ดจะเห็นว่าคำสั่งในแต่ละบรรทัดหรือสเตตเมนต์ไม่ต้องมีเครื่องหมายปิด บอกว่าจบคำสั่งแล้วนะ คือ ว่าถ้าจบบรรทัดนั่นก็คือจบคำสั่ง

2. สามารถเขียนหลายคำสั่งรวมอยู่ในบรรทัดเดียวได้ แต่ต้องคั่นด้วยเครื่องหมายเซมิโคล่อน ; เช่น

> b = "Hello Lua" ; print(b)
'Hello Lua'

3. การเขียนบล็อกของคำสั่งไม่ต้องใส่เครื่องหมายอะไรบอกขอบเขตมากมาย โดยจะให้สเตตเมนต์ในบล็อกแท็บอยู่ด้านขวา ตัวอย่างในสคริปต์โหมด



4. คอมเมนต์ จะเป็นส่วนคำอธิบานโค้ด จะไม่ถูกแปลภาษา
* ถ้าอยู่ในหนึ่งบรรทัด ให้ใส่เครื่องหมาย -- อยู่ด้านหน้า
* ถ้าอยู่เป็นบล็อกให้เครื่องหมาย --[[ นำหน้า และปิดท้ายด้วย --]]


5. Identifiers การกำหนดชื่อ : ใช้กำหนดชื่อตัวแปรและฟังก์ชัน
* ขึ้นต้นด้วยตัวอักษร a ถึง z, A ถึง Z หรือเครื่องหมาย _ ขีดล่าง
* ตามด้วยตัวเลข 0 ถึง 9
* ห้ามมีเครื่องหมาย @, $, และ %
* อักษรตัวเล็กใหญ่มีผลต่างกัน เช่น boy, Boy, BOY จะถือว่าคนละชื่อกัน

ตัวอย่างชื่อที่ถูกต้อง

job23       _data       room39     Source_name

6. Keyword คำสงวน เป็นคำที่ถูกใช้เป็นคำสั่งการทำงานต่างๆ หากตั้งชื่อไปซ้ำคำเหล่านี้จะทำให้การประมวลผลผิดพลาด จึงขอสงวนคำเหล่านี้ไว้ ได้แก่

and            break        do        else
elseif        end            false        for
function    if                in        local
nil            not        or        repeat
return    then        true        until
while

7. Whitespace การเว้นช่องว่าง
* ต้องเว้นวรรคระหว่าง คำสั่งกับตัวแปรและตัวดำเนินการ 1 เคาะ

เช่น    a = 2
          a = b + c

* การเว้นระหว่างคำสั่งจะเว้นหนึ่งบรรทัด ได้กล่าวไว้แล้วในตอนต้น

ไม่มีความคิดเห็น:

แสดงความคิดเห็น