コース概要

Luaの導入

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

基本文法と意味論

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

データ型とデータ構造

  • 基本型: nil, boolean, number, string
  • オブジェクト型: function, userdata, thread, table
  • リファレンス/オブジェクト vs. 基本値
  • Luaにおけるテーブルの重要性

テーブルとその多様性の導入

  • テーブルとしての連想配列
  • 数値配列、シーケンスとしてのテーブル

基本的な制御構造

  • if then elseif else end
  • whileループ
  • repeatループ
  • 単純なforループ

エラーハンドリング

  • 戻り値 vs. 例外
  • 戻り値を例外に変換する方法
  • 例外を戻り値に変換する方法
  • エラーレベル

例プログラム

  • 多項式評価
  • 幅優先探索
  • 追加の演習問題

関数についてさらに詳しく

  • 名前付き引数
  • オブジェクト指向呼び出し
  • クロージャ
  • カリー化
  • 尾再帰呼び出し
  • 複数の代入と戻り値
  • 可変引数

イテレータとコルーチン

  • 汎用forループ
  • 状態を持たないイテレータ vs. 状態を持つイテレータ
  • イテレータとコルーチンの違い

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

  • セットの例
  • __tostringメタメソッド
  • 算術メタメソッド
  • __index, __newindexメタメソッド
  • __lenメタメソッド

モジュールとパッケージ

  • モジュールの使用方法
  • モジュールの作成方法
  • モジュールをパッケージに組織化する方法

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

  • LuaにおけるOOPの基本要素

より高度な言語機能についてのディスカッション

  • 弱テーブル
  • ファイナライザ
  • コンパイル、eval、ロード

要求

少なくとも1つの他のプログラミング言語に精通していること。プログラミング経験があること。オプションで、他のスクリプト言語に精通しているとLuaの理解がより容易になります。

 14 時間

参加者の人数


参加者1人当たりの料金

今後のコース

関連カテゴリー