Lua學習筆記(二):類型和值


Lua是動態類型語言,變量不需要類型聲明,每一個變量都可能包含任一種類型值。一般情況下,同一變量表示不同類型的值會造成混亂,最好不要這么使用。

Lua中有8個基本類型:nil、boolean、number、string、userdata、function、thread和table。

函數type可以用string類型返回變量的類型值。

1 nil

  1. 只包含一個值,nil;
  2. 任何類型在未賦值之前都是nil;
  3. 全局變量賦值為nil時,刪除該變量。

2 boolean

  1. 有兩個值,true和false;
  2. false和nil表示假,其余情況都為真。

3 number

  1. 表示實數,包括浮點數和整形數

4 string

  1. 表示一個字符序列,可以包含任意長度(可以為空也可以是整本書)任意字符(包括c/c++中的終止字符0);
  2. 標識可以是單引號,也可以是雙引號(建議統一使用一種);
  3. 字符串連接操作符為".."(例:"Hello ".."World");
  4. 使用"#"可獲得字符串長度(例:#(Hello World));
  5. 可以在字符串中使用\ddd(ddd為三位十進制數字)方式表示字母,例如下列兩個字符串相同;
"alo\n123\""
'\97lo\10\04923"'
  1. 可以使用 [[...]] 表示字符串;
  2. 可以使用轉義字符:
\a  bell
\b  back space              -- 后退
\f  form feed               -- 換頁
\n  newline                 -- 換行
\r  carriage return         -- 回車
\t  horizontal tab          -- 制表
\v  vertical tab            
\\  backslash               -- "\"
\"  double quote            -- 雙引號
\'  single quote            -- 單引號
\[  left square bracket     -- 左中括號
\]  right square bracket    -- 右中括號
  1. 運行時,Lua會自動在string和numbers之間自動進行類型轉換。當一個字符串使用算術操作符時,string就會被轉成數字;當Lua期望一個string而碰到數字時,會將數字轉成string;
  2. 顯式的將string轉成數字使用函數tonumber(),如果string不是正確的數字,該函數將返回nil;
  3. 顯示的將number轉成string,使用函數tostring(),這種轉換一直有效。

5 userdata

  1. userdata可以將C數據存放在Lua變量中;
  2. userdata在Lua中除了賦值和相等比較以外,沒有預定義的操作;
  3. userdata用來描述應用程序或者使用C實現的庫創建的新類型。(后續部分會詳細介紹)

6 function

  1. 函數是第一類值。它可以存儲在變量中;可以作為函數的參數;可以作為函數的返回值;
  2. Lua可以調用lua或C實現的函數,其中Lua所有的標準庫(string庫、table庫、I/O庫、OS庫、算術庫、debug庫)都是用C實現的。

7 thread

線程,后續部分會詳細介紹。

8 table

表,后續部分會詳細介紹。


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 第一篇 語言 第0章 序言 Lua僅讓你用少量的代碼解決關鍵問題。 Lua所提供的機制是C不擅長的:高級語言,動態...
    testfor閱讀 2,719評論 1 7
  • ¥開啟¥ 【iAPP實現進入界面執行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,523評論 0 17
  • Nginx API for Lua Introduction ngx.arg ngx.var.VARIABLE C...
    吃瓜的東閱讀 5,864評論 0 5
  • 一、起因 周末的時候,爸爸的朋友到家里做客。 都是同一個鎮里出去、一起駐扎過邊疆的復原軍人,當然有很多的共同話題。...
    莫寫時光閱讀 194評論 0 2
  • 今天一邊聽課一邊騎著小黃車,感覺與大自然完全的擁抱,跟著老師的言語用心跟大地共振,與樹木,街道同在,瞬間有了溫暖的...
    宇宙大祭司閱讀 298評論 0 0