當前位置:編程學習大全網 - 編程語言 - 電腦編程可以在哪裏學習?

電腦編程可以在哪裏學習?

學習的地方有很多,比如圖書館,官方手冊,學校等。

妳應該提供壹個 消息處理函數 用於錯誤拋出時調用。 該函數需接收原始的錯誤消息,並返回壹個新的錯誤消息。 它在錯誤發生後棧尚未展開時調用, 因此可以利用棧來收集更多的信息, 比如通過探知棧來創建壹組棧回溯信息。 同時,該處理函數也處於保護模式下,所以該函數內發生的錯誤會再次觸發它(遞歸)。 如果遞歸太深,Lua 會終止調用並返回壹個合適的消息。

型允許將 C 中的數據保存在 Lua 變量中。 用戶數據類型的值是壹個內存塊, 有兩種用戶數據: 完全用戶數據 ,指壹塊由 Lua 管理的內存對應的對象; 輕量用戶數據 ,則指壹個簡單的 C 指針。 用戶數據在 Lua 中除了賦值與相等性判斷之外沒有其他預定義的操作。 通過使用 元表 ,程序員可以給完全用戶數據定義壹系列的操作 (參見 §2.4)。 妳只能通過 C API 而無法在 Lua 代碼中創建或者修改用戶數據的值, 這保證了數據僅被宿主程序所控制。

thread 類型表示了壹個獨立的執行序列,被用於實現協程 (參見 §2.6)。 Lua 的線程與操作系統的線程毫無關系。 Lua 為所有的系統,包括那些不支持原生線程的系統,提供了協程支持。

table 是壹個關聯數組, 也就是說,這個數組不僅僅以數字做索引,除了 nil 和 NaN 之外的所有 Lua 值 都可以做索引。 (Not a Number 是壹個特殊的數字,它用於表示未定義或表示不了的運算結果,比如 0/0。) 表可以是 異構 的; 也就是說,表內可以包含任何類型的值( nil 除外)。 任何鍵的值若為 nil 就不會被記入表結構內部。 換言之,對於表內不存在的鍵,都對應著值 nil 。

表是 Lua 中唯壹的數據結構, 它可被用於表示普通數組、序列、符號表、集合、記錄、圖、樹等等。 對於記錄,Lua 使用域名作為索引。 語言提供了 a.name 這樣的語法糖來替代 a["name"] 這種寫法以方便記錄這種結構的使用。 在 Lua 中有多種便利的方式創建表(參見 §3.4.9)。

我們使用 序列 這個術語來表示壹個用 {1..n} 的正整數集做索引的表。 這裏的非負整數 n 被稱為該序列的長度(參見 §3.4.7)。

和索引壹樣,表中每個域的值也可以是任何類型。 需要特別指出的是:既然函數是壹等公民,那麽表的域也可以是函數。 這樣,表就可以攜帶 方法 了。 (參見 §3.4.11)。

索引壹張表的原則遵循語言中的直接比較規則。 當且僅當 i 與 j直接比較相等時 (即不通過元方法的比較), 表達式 a[i] 與 a[j] 表示了表中相同的元素。 特別指出:壹個可以完全表示為整數的浮點數和對應的整數相等 (例如:1.0 == 1)。 為了消除歧義,當壹個可以完全表示為整數的浮點數做為鍵值時, 都會被轉換為對應的整數儲存。 例如,當妳寫 a[2.0] = true 時, 實際被插入表中的鍵是整數 2 。 (另壹方面,2 與 "2" 是兩個不同的 Lua 值, 故而它們可以是同壹張表中的不同項。)

  • 上一篇:固態硬盤主控芯片的未來戰場
  • 下一篇:gps授時設備和北鬥授時設備哪個精度高?
  • copyright 2024編程學習大全網