
Luaコース
Luaを基礎から学び、世界中のゲームエンジン、組み込みシステム、自動化ツールを支えるプログラミングスキルを身につけましょう。このコースでは、最初のスクリプト作成から、コルーチン、メタテーブル、C APIといった高度なトピックまでをカバーします。すべての概念は、すぐに応用できる実践的なハンズオン例を通して学びます。
学べること:
このコースでは、Luaプログラミングの主要な領域をすべて網羅し、環境構築、構文、データ型から始めます。制御フロー、関数、クロージャ、そしてLuaの強力なテーブルシステムを習得します。カリキュラムはさらに、文字列操作、パターンマッチング、メタテーブル、オブジェクト指向設計へと進みます。また、コードをモジュールに整理する方法、ランタイムエラーの処理方法、LuaRocksを使った依存関係の管理方法も学びます。高度なトピックとして、コルーチン、ガベージコレクション、パフォーマンス最適化、Lua C APIが含まれます。補足セクションでは、LÖVEを使ったゲーム開発、システム自動化、bustedを使ったテスト、プロフェッショナルなチームプラクティスについても解説します。
実践的な学習方法 Luaコース
実践方法 Luaコース
企業向けのチーム研修をご希望の方へ
Dedikaの法人向けコースでは、貴社のビジネスやニーズに合わせた演習や事例をご用意しています。
コース内容
8 章 • 39 レッスン4時間から360時間の間(あなたが決めます)
第1章隠す詳細を隠す詳細を見るLuaの基礎と環境設定
Luaの基礎と環境設定
レッスン 1 • 変数とデータ型
動的型付け、nil、ブール値、数値、文字列について解説します。あらゆるプログラムにおいて、値を保存し確認できるようになります。
レッスン 2 • Luaの構文とコード構造
ステートメントの構文、コメント、空白ルールを紹介します。以降のすべてのスクリプトが依存する文法の基礎を提供します。
レッスン 3 • Luaのインストールと設定
主要なオペレーティングシステムへのランタイムのインストールとエディタの設定を扱います。最初のレッスンから実践的な演習を可能にすることで、この章につながります。
レッスン 4 • 基本的な入出力
コンソール操作のためのprint、io.write、io.readを解説します。目に見える出力を生成し、ユーザー入力を即座に受け付けられるようになります。
レッスン 5 • 演算子と式
算術演算子、関係演算子、論理演算子、連結演算子を扱います。今後のすべての章で使用される式記述スキルを構築します。
第2章隠す詳細を隠す詳細を見る制御フローとプログラムロジック
制御フローとプログラムロジック
レッスン 1 • Break、Goto、ループ制御
ループを終了するbreakと、制御されたジャンプのためのgotoについて解説します。安全で意図的な使用パターンを用いて、制御フローの道具一式を完成させます。
レッスン 2 • 数値forループと汎用forループ
ステップ制御付きの数値forと、イテレータを使用する汎用forについて学びます。次の章で扱うテーブル走査の準備をします。
レッスン 3 • 条件文
ネストされた条件を伴うif、elseif、elseの構文を扱います。すべての重要なプログラムに必要な分岐ロジックを直接有効にします。
レッスン 4 • whileループとrepeatループ
条件駆動の繰り返しのためのwhileループとrepeat-untilループを紹介します。各ループタイプが特定の問題に最適な場合を学びます。
第3章隠す詳細を隠す詳細を見る関数とスコープ
関数とスコープ
レッスン 1 • 再帰関数
基本ケースの設計を伴う直接再帰と相互再帰を扱います。アルゴリズムとデータ構造に適用される問題分割スキルを構築します。
レッスン 2 • 複数の戻り値と可変長引数
複数の値を返す方法と、...可変長引数構文について解説します。Luaのイディオムでよく見られる柔軟な関数シグネチャを可能にします。
レッスン 3 • ローカルスコープとグローバルスコープ
ローカル変数とグローバル変数の寿命と可視性ルールの違いを明確にします。大規模なスクリプトで発生する一般的なスコープ関連のバグを防ぎます。
レッスン 4 • 関数の定義と呼び出し
関数宣言の構文、パラメータ、戻り値を扱います。コース全体で使用される主要な抽象化メカニズムを確立します。
レッスン 5 • クロージャとアップ値
クロージャを、外側のスコープからアップ値を捕捉する関数として紹介します。状態を持つ関数ファクトリとコールバックパターンを可能にします。
第4章隠す詳細を隠す詳細を見るテーブル:Luaの核心的なデータ構造
テーブル:Luaの核心的なデータ構造
レッスン 1 • tableライブラリによるテーブル操作
table.insert、table.remove、table.sort、table.concatを紹介します。一般的なテーブル操作のための標準ライブラリツールを身につけます。
レッスン 2 • 配列としてのテーブル
整数キーのシーケンスと#長さ演算子について解説します。リスト形式のデータ保存と順次処理を可能にします。
レッスン 3 • テーブルの作成とアクセス
テーブルコンストラクタ構文とキーと値のアクセスパターンを扱います。Luaにおけるすべてのデータモデリングタスクの基礎を提供します。
レッスン 4 • 辞書としてのテーブル
マップ形式のデータ保存のための文字列キーと混合キーを扱います。設定やレコードオブジェクトなどの実世界のユースケースにつながります。
レッスン 5 • 参照としてのテーブル
参照セマンティクス、シャローコピー、エイリアシング効果について解説します。テーブルを関数に渡す際のデータ破損バグを防ぎます。
第5章隠す詳細を隠す詳細を見る文字列とパターンマッチング
文字列とパターンマッチング
レッスン 1 • パターンの置換と反復処理
置換のためのstring.gsubと反復処理のためのstring.gmatchを解説します。完全なテキスト変換ワークフローのためのパターンツールキットを完成させます。
レッスン 2 • string.formatによる文字列の書式設定
数値、文字列、パディングのための書式指定子について学びます。ロギングやレポート作成に必要な、正確な出力書式設定を可能にします。
レッスン 3 • stringライブラリの必須機能
string.len、string.sub、string.upper、string.lower、string.repを扱います。すべての文字列タスクのための基本的なテキスト処理ツールキットを構築します。
レッスン 4 • パターンの検索とマッチング
string.find、string.match、キャプチャグループを扱います。生のテキスト入力から構造化データを抽出できるようにします。
レッスン 5 • パターン構文と文字クラス
Luaパターン、アンカー、量化子、文字クラスを紹介します。すべてのfind、match、gsub操作のための文法を提供します。
第6章隠す詳細を隠す詳細を見るメタテーブルとオブジェクト指向Lua
メタテーブルとオブジェクト指向Lua
レッスン 1 • プロトタイプによるクラスの構築
__indexチェーンを介したクラスコンストラクタとメソッドディスパッチを実装します。共有メソッドを持つ再利用可能なオブジェクトの設計図を作成します。
レッスン 2 • 継承とポリモーフィズム
単一継承とメソッドオーバーライドのためにプロトタイプチェーンを拡張します。サブクラスとスーパーコールパターンでOOPモデルを完成させます。
レッスン 3 • 算術メタメソッドと比較メタメソッド
__add、__sub、__mul、__eq、__lt、__leメタメソッドを扱います。カスタム型が標準のLua式に参加できるようにします。
レッスン 4 • IndexメタメソッドとNewindexメタメソッド
プロパティ参照のための__indexと書き込み傍受のための__newindexを解説します。デフォルト値、読み取り専用テーブル、プロキシオブジェクトを可能にします。
レッスン 5 • メタテーブルの概要
setmetatable、getmetatable、メタテーブルの契約について解説します。すべての高度なテーブルカスタマイズの基礎となるメカニズムを確立します。
第7章隠す詳細を隠す詳細を見るモジュール、パッケージ、エラーハンドリング
モジュール、パッケージ、エラーハンドリング
レッスン 1 • debugライブラリによるデバッグ
debug.traceback、debug.getinfo、フック関数を扱います。複雑なマルチモジュールプログラムの問題を診断するツールを提供します。
レッスン 2 • requireとパッケージシステム
require、package.path、モジュールキャッシュの動作について解説します。依存関係を確実に読み込んで管理する方法を学びます。
レッスン 3 • カスタムエラーとエラーオブジェクト
レベル指定付きのerror()と構造化されたエラーテーブルオブジェクトを解説します。ライブラリでの情報量が豊富で機械可読なエラーレポートを可能にします。
レッスン 4 • pcallとxpcallによるエラーハンドリング
保護呼び出しとエラー捕捉のためのpcallとxpcallを紹介します。未処理のエラーが本番スクリプトをクラッシュさせるのを防ぎます。
レッスン 5 • モジュールの作成と使用
モジュール・アズ・テーブルパターンと公開APIの返却を扱います。複数のスクリプトファイル間でのコードの分離と再利用を可能にします。
第8章隠す詳細を隠す詳細を見る高度なLuaとパフォーマンス最適化
高度なLuaとパフォーマンス最適化
レッスン 1 • コルーチンを使用したイテレータの構築
クリーンな構文のためにcoroutine.wrapを使用して、状態を持つイテレータを構築します。コルーチンの知識を実用的な汎用forの使用に結びつけます。
レッスン 2 • プロファイリングとパフォーマンスチューニング
タイミング、ローカルキャッシュ、テーブル事前割り当てを適用してオーバーヘッドを削減します。具体的なベンチマークを使用してスクリプトのパフォーマンスを測定し改善します。
レッスン 3 • コルーチンと協調的マルチタスク
coroutine.create、resume、yield、statusを紹介します。Luaにおける協調スケジューリングとプロデューサー・コンシューマーパイプラインを可能にします。
レッスン 4 • メモリ管理とガベージコレクション
インクリメンタルGC、collectgarbage()、ウィークテーブルを扱います。長時間稼働するアプリケーションでのメモリ使用量を制御する方法を学びます。
レッスン 5 • 環境と_ENV
グローバルテーブルおよびチャンクレベルの環境制御としての_ENVについて解説します。サンドボックス化と動的グローバル管理技法を可能にします。
あなたの有効な修了証
このコースはこんな方におすすめです:
軽量で多用途なスクリプト言語を学びたい初心者プログラマー。
LÖVEやDefoldなどのエンジン内でロジックをスクリプト化したいゲーム開発者。
アプリケーションに高速なスクリプトレイヤーを組み込みたいC/C++開発者。
ビルドツールやシステムスクリプトにコンパクトな言語を必要とする自動化エンジニア。
教室で学ぶJavaやPythonを超えて、実用的な言語を求めるコンピュータサイエンスの学生。
焦点を絞った親しみやすい言語を通じて、ソフトウェア職への転身を目指すキャリアチェンジャー。
受講生の声
授業は完璧です。1年間のパッケージを購入し、ついにプラットフォームを変更することなく、興味のある様々なトピックを学習する機会を得ることができました...皆さんがしてくださることすべてに感謝しており、すでに他の人たちにも推薦しています...

レッスンが要点を押さえていることと、チャプターを変更したり、必要のないコンテンツをスキップできることが気に入っています。

コンテンツと動画の表示・転写方法が気に入っており、学習プロセスが加速されます!

プラットフォームは高速で使いやすいです。コンテンツの多様性と補完的な動画が学習に大変役立ちます。

主要なスキルアップコース
よくある質問
Dedikaとは何ですか?
修了証は日本で有効ですか?
コースは無料ですか?
コースの学習時間(ワークロード)は?
コースの内容はどのようなものですか?
コースはどのように進行しますか?
コースの期間はどれくらいですか?
コースの料金はいくらですか?
EADやオンラインコースとは?どのように機能しますか?
PDFコース




















