<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    Lua學習小記——語言

    Posted on 2007-11-29 16:05 dennis 閱讀(2563) 評論(0)  編輯  收藏 所屬分類: 動態語言
    1.起點,經典hello world:

    print("Hello World")

    這與大多數腳本語言沒什么兩樣,總體來說如果你對JavaScript、Ruby、Python之類有所學習的話,LUA還是相當簡單的

    2.函數定義,類似JS,用begin end代替大括號:

    function fact (n)

        if n == 0 then

           return 1

        else

           return n * fact(n-1)

        end

    end


    function其實就是lambda算子.

    3.  8種基本類型:
    nilbooleannumberstringuserdatafunctionthreadtable

    boolean類型除了false和nil是false之外,其他都是true
    lua支持函數式編程,因此函數是一等公民,userdata用于存儲C語言的數據,待深入。thread與多線程編程有關。table是lua的基本數據結構,是array和hash的綜合體,比較奇怪的是默認索引從1開始,而不是通常的0。看例子:

    days = {"Sunday", "Monday", "Tuesday", "Wednesday",

                  "Thursday", "Friday", "Saturday"}

    w = {x=0, y=0, label="console"}


    4. lua與ruby一樣支持多重賦值和函數可以返回多個值,常見控制結構沒有什么好說的。

    5.可變參數,lua有很濃重的C味道,可變參數也與C一樣,用...表示:
    function g (a, b, ...) ... end

    也可以通過表來傳遞命名參數:

    rename{old="temp.lua", new="temp1.lua"}


    6.局部變量的聲明 local i=0,僅在聲明的代碼塊內有效。如果沒有聲明為local,將自動成為全局變量,一個變量在賦值前是nil,通過將變量聲明為nil可以刪除該變量

    7.LUA是有尾遞歸優化的,也提供了各種高階函數以及閉包等等特性。

    8.loadstring函數,一般其他解釋語言中的eval函數相似,不過他是返回一個chunk(每個chunk都是匿名函數)讓你執行,比如

    f = loadstring("local a = 10; return a + 20")

    print(f())        --> 30

    也可以通過loadfile將整個文件載入作為chunk。

    9.require,用于加載文件,會搜索環境變量LUA_PATH設定的路徑,同時能判斷文件是否已經加載來避免重復加載。比較奇特的是路徑的設置,與一般的路徑完全不同,其實就是用?當占位符,然后require filename的時候,用filename代替這些文號,比如:

    ?;?.lua;c:\windows\?;/usr/local/lua/?/?.lua

    當你require 'lili'的時候,就會尋找下列路徑的文件:

    lili

    lili.lua

    c:\windows\lili

    /usr/local/lua/lili/lili.lua


    10.lua通過loadlib函數可以加載動態鏈接庫

    11.pcall在保護模式(protected mode)下執行函數內容,同時捕獲所有的異常和錯誤。若一切正常,pcall返回true以及“被執行函數”的返回值;否則返回nil和錯誤信息。

    12.
    主站蜘蛛池模板: 久久精品成人免费观看| 国产成人福利免费视频| 国产免费观看黄AV片| 亚洲色偷偷综合亚洲av78| 亚洲精品蜜夜内射| 九九免费精品视频在这里| 91精品啪在线观看国产线免费| 亚洲成a人片在线观看日本| 亚洲女女女同性video| 三级黄色免费观看| 中文字幕日韩亚洲| 国内少妇偷人精品视频免费| 亚洲精品夜夜夜妓女网| 日本一区二区免费看| 亚洲日产2021三区在线| 一区二区视频在线免费观看| 亚洲高清成人一区二区三区 | 久久久www成人免费毛片| 亚洲中文字幕AV每天更新| 日本19禁啪啪无遮挡免费动图| 国产亚洲精品美女久久久久| 亚洲av成人一区二区三区在线观看 | 中文字幕无码免费久久9一区9| 亚洲中文字幕无码一区二区三区 | 污污网站18禁在线永久免费观看| 免费一级国产生活片| 亚洲综合自拍成人| 久久99九九国产免费看小说| 亚洲日韩国产一区二区三区在线| 亚洲av午夜成人片精品电影 | 一二三四在线观看免费高清中文在线观看 | 尤物视频在线免费观看| 久久久亚洲欧洲日产国码农村| 亚洲人成免费网站| 亚洲精品自产拍在线观看动漫| 999国内精品永久免费视频| 亚洲成a人片在线不卡一二三区 | 毛片免费观看网址| 亚洲人成在线免费观看| 日本久久久免费高清| 国产免费一区二区视频|