お問い合わせ
 期間 14 時間

コース概要

Lua入門

  • 歴史の概要
  • Luaの目標、機能、非目標
  • Luaのドキュメントやチュートリアルのリソース
  • Luaインタプリタのインストール
  • LuaRocksのセットアップと使用方法

基本的な構文と意味論

  • 識別子
  • コメント、ブロックコメント
  • グローバル変数とstrictnessの強制
  • ローカル変数
  • スタンドアロンプログラム、プログラム引数
  • コンパイル単位、チャンク、式、セミコロン

データ型とデータ構造

  • 基本型: nil, boolean, number, string
  • オブジェクト型: function, userdata, thread, table
  • 参照/オブジェクトと基本値の違い
  • Luaにおけるテーブルの重要性

テーブルの導入とその多用途性

  • アソシエティブ配列としてのテーブル
  • 数値配列、シーケンスとしてのテーブル

基本的な制御構造

  • if then elseif else end
  • whileループ
  • repeatループ
  • シンプルなforループ

エラーハンドリング

  • 戻り値と例外の違い
  • 戻り値を例外に変換する
  • 例外を戻り値に変換する
  • エラーレベル

サンプルプログラム

  • 多項式の評価
  • 幅優先探索(BFS)
  • 追加の演習

関数に関する詳細

  • 名前付き引数
  • オブジェクト指向の呼び出し
  • クロージャ
  • カリー化
  • テールコール
  • 多重代入と多重返り値
  • 可変長引数(Varargs)

イテレータとコルーチン

  • 汎用forループ
  • ステートレスイテレータとステートフルイテレータ
  • イテレータとコルーチンの違い

メタテーブルとメタメソッド

  • setの例
  • __tostringメタメソッド
  • 演算メタメソッド
  • __index, __newindexメタメソッド
  • __lenメタメソッド

モジュールとパッケージ

  • モジュールの利用
  • モジュールの作成
  • モジュールをパッケージとして整理する

オブジェクト指向プログラミング

  • LuaにおけるOOPの構成要素
  • 使用例

より高度な言語機能に関する考察

  • 弱いテーブル(Weak tables)
  • ファイナライザ
  • コンパイル、eval、ローディング

要求

少なくとも1つの他のプログラミング言語への慣れ。プログラミング経験。なお、他のスクリプト言語に 익숙であれば、Luaの理解がより容易になります。

参加者の人数


参加者1人あたりの価格

今後のコース

関連カテゴリー