又LAG隨性筆記
  • 關於我
  • 作品集
  • 生活隨筆
  • 與我聯絡
  • 隨手扎

隨手扎

September 18, 2020

【30天Lua重拾筆記05】基礎1: 程式區塊(block、chunk)、排版

Lua的關鍵字

Lua的關鍵字並不多,就只有這麼幾個而已:

andbreakdoelseelseifend
falseforfunctiongotoifin
localnilnotorrepeatreturn
thentrueuntilwhile

區塊(block)

有一些關鍵字會組合成程式區塊(block)。像是:

  • funciton - end
  • do - end
  • if-then - end
  • while-do - end
  • repeat - until

夾於這些關鍵字中間的程式碼會成為一個環境區塊。

在區塊環境內,可以保有一些局部變數:

do
  local name = "World"
  print("Hello, "..name)
end

print(name)

Hello, World
nil

chunk

September 17, 2020

【30天Lua重拾筆記04】基礎1: Hello, Lua!

假設你已經選擇好並安裝 Lua的實現,且也準備好開發環境。使用過lua -v沒問題後,就可以來試試看今天的入門示範程式。

你不必馬上了解今天的所有內容,將來都會說明到。今天只是快速的看看Lua程式長什麼樣子。

你可以執行lua,在REPL交互式環境執行範例程式碼,也可以另存檔案,並用lua file.lua執行看看。

第一個程式 - Hello, World

第一個程式?當然從打印出Hello, World開始。

Hello, World是指在電腦螢幕顯示「Hello, World!」(你好,世界!)字串的電腦程式。相關的程式通常都是每種電腦程式語言最基本、最簡單的程式,也會用作示範一個程式語言如何運作。同時它亦可以用來確認一個程式語言的編譯器、程式開發環境及運行環境是否已經安裝妥當。 – 維基百科

print "Hello, World"

Hello, World

不過這也太簡單了,來換個方式試試。

給個名字 - Hello, Lua

September 16, 2020

【30天Lua重拾筆記03】開發環境配置

開發環境配置

接著,來配置一下開發環境。主要會介紹三個開發環境,當然你想使用純文本編輯器也可以,我就是使用Emacs。

我會建議初學的人只使用代碼高亮的功能就好,最多…就使用到查找文件說明。 儘管今天介紹的配置都包含自動補全、格式美化、定義跳轉等等功能。但初學的人應該更關注在於其語法。(Lua語法也蠻自由的就是)

ZeroBrane

ZeroBrane是一個相當完整的Lua IDE,你幾乎可以直接下載下來使用。

其已經包含數個Lua版本,並可以輕易切換。

ZeroBrane切換Lua版本

他也包含許多IDE應該要有的功能:

  • 跳轉到函式定義
  • 自動補全
  • 除錯器
September 15, 2020

【30天Lua重拾筆記02】Lua的實現與選擇

Lua的實現與選擇

Lua LOGO

Lua的意思是葡萄牙文的「月亮」,其LOGO和其他相關也多與月亮有關。在開始使用學習Lua之前,比須先了解Lua的幾個版本與實際實現。

就像Python 2和Python 3有很大不同,Python 3各版本間又有些許不同。有些在Python 3.9能用的語法或功能,不一定可以在Python 3.5使用一樣。

Lua目前已經到了5.4版本,本系列內容也會以Lua 5.4為主。Lua 5.4於2020年釋出,所以還非常的新,有許多實現實際未達到這個標準。但Lua 5.1、5.3也已經使用多年,穩定度是可見的。就算是其餘版本的實現,也具有一定可用性。Lua設計極小,就某種程度上而言,甚至可以相對輕鬆的撰寫自己的實現。類似的於C語言,但是沒有C語言煩人的指標概念。所以Lua的實現也不少,其中著名的有:

  • LuaJIT

    極高效即時編譯的Lua實現。相容於Lua 5.1語法。

    LuaJIT is compatible to the Lua 5.1 language standard. It doesn't support the implicit arg parameter for old-style vararg functions from Lua 5.0.

  • eLua

    用於嵌入式設備開發的Lua,提供許多已經寫好的內容。(沒記錯的話也是使用Lua 5.1標準,沒用過)

  • LuaJ

    Java版的實現,支援Lua 5.2的語法。在GitHub上有另一個Fork的版本,兩個有些差異。

  • Fengari

    JS實現的版本。其他JS實現的版本還有:Moonshine、lua.vm.js、Starlight。這是一個很新,也有點有趣的項目。我會在談談它。

  • IronLua

    C#的實現。

September 14, 2020

【30天Lua重拾筆記01】-認識Lua

認識Luna

盧娜(Luna,又寫作露娜或路娜)是羅馬神話中的月亮女神。「Luna」在法語和義大利語中也有月亮或月神的意思。在希臘神話中她的對應者為塞勒涅。盧娜也常常和黛安娜或赫卡忒混淆在一起。在羅馬的阿文提諾山上建有供奉她的神廟。 — 維基百科

錯棚了…
不是她 😅


再來一次 - 認識Lua

Lua是葡萄牙文的月亮,是一個輕量、快速、容易學習且容易嵌入的程式語言。其目標本就是成為一個很容易嵌入其它語言中使用的語言。其精簡的核心只包含一些最基本的功能,啟動速度非常之快。 儘管如此,透過最基本的功能,甚至可以實現多種編程範式。

可嵌入的程式語言

July 22, 2020

【心得筆記】與熊共舞

與熊共舞,這本書的筆記你會發現跟我之前寫的筆記方式有些不同。我對本書有很多感觸,也因此我更想好好的整理。但總拖著,本書我六月份就看完了,也做過一些初步整理,直至今日才來寫寫心得筆記,撰寫之初亦沒有把握這筆記能夠寫得我滿意。不管怎說,這件事總覺得應該做、必須做,有很多東西,也只有做了才知道。

書名:與熊共舞
讀完日期:2020/06/13
推薦指數:★★★★★
(如果你已經帶過幾次軟體專案,我推薦爆表)


關於與熊共舞

在筆記之前,還是得來吹吹這本書的地位。「與熊共舞」和「人月神話」、「最後期限」並列為軟體專案管理,歷久不衰的必讀經典著作,如果你是軟體開發人員,我會額外推薦你閱讀Bob大叔的「Clean Code」。

儘管我聽過「與熊共舞」和「人月神話」好一段日子,但是這是我第一次讀三本中的其中一本。「最後期限」更是本書推薦後我才知道,亦非常期待之後閱讀。
そか~在看其他東西,都忘了我自己還訂了這兩本書單。

本書的副標題揭露的探討的內容:「軟體專案的風險管理」。但我認為其中提到的風險管理概念,不只可以用於軟體專案,對於任何形式的專案都具有幫助。

風險的定義

  • ««
  • «
  • 1
  • 2
  • 3
  •  … 
  • 18
  • 19
  • 20
  •  … 
  • 34
  • »
  • »»
© 又LAG隨性筆記 2025