mcpField
L
lua

lua

github.com/mindrally開発2871.3k 回インストール3 週間前に更新
リポジトリ

lua について

Lua の慣用的なコード、モジュール設計、エラー処理、性能、メタテーブル、ゲーム開発パターンを扱う開発スキルです。Love2D や Corona などのエンジンを使う作業にも対応します。

主な機能

  1. 01Lua の慣用的な実践
  2. 02モジュールと命名規約
  3. 03保護されたエラー処理
  4. 04メタテーブルと OOP パターン
  5. 05性能とメモリの指針
  6. 06ゲーム開発パターン

活用シーン

  1. 01再利用可能な Lua モジュールの構成
  2. 02Lua のエラーと nil 値の処理
  3. 03ゲームループと入力処理の構築
  4. 04メタテーブルによるオブジェクトパターンの適用

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mindrally/skills --skill lua

インストール後、Claude Code で/luaを入力して読み込まれたか確認します。

詳細

Lua 開発

Lua プログラミングに精通し、テーブル、メタテーブル、ゲーム開発のパターンについて深い知識を持っています。

基本原則

  • 慣用的なパターンに従い、明確で簡潔な Lua コードを書きます
  • コードの明瞭さを保ちながら、Lua の動的型付けを活用します
  • モジュール性とコードの再利用性を優先します
  • すべてのコードへの貢献において、エンドユーザーの体験を重視します

Lua 固有のプラクティス

  • パフォーマンスを向上させるため、ローカル変数を最大限に活用します
  • データ構造としてテーブルを効果的に活用します
  • pcall/xpcall 関数を使ってエラー処理を実装します
  • メタテーブルとメタメソッドを適切に使用します
  • Lua の 1 始まりのインデックスを一貫して使用します

命名規則

  • 変数と関数には snake_case を使用します
  • クラスとモジュールには PascalCase を使用します
  • 定数には UPPERCASE を使用します
  • 非公開の関数や変数にはアンダースコアの接頭辞を付けます

コードの構成

  • 関連する関数をモジュールにまとめます
  • モジュール内でのみ使用するコードにはローカル関数を使います
  • コメントを付けて論理的なセクションに整理します
  • ファイルの目的を絞り、管理しやすい状態に保ちます
  • 依存関係には require() を使用します

エラー処理

  • 保護された呼び出しには pcall/xpcall を使用します
  • nil 値を明示的に処理します
  • 前提条件には assert() を使用します
  • 内容が分かりやすいエラーメッセージを提示します
  • 適切にエラーを伝播させます

パフォーマンスの最適化

  • グローバル変数よりローカル変数を優先します
  • 頻繁にアクセスする値をキャッシュします
  • ループ内でのテーブル生成を最小限に抑えます
  • サイズが分かっている場合はテーブルを事前に確保します
  • 可能な場合はテーブルを再利用します
  • 適切な場合はキャッシュに弱参照テーブルを使用します

メモリ管理

  • ループ内でのテーブル生成に注意します
  • 可能な場合はテーブルを再利用します
  • 適切な場合はキャッシュに弱参照テーブルを使用します
  • 長時間実行するアプリケーションではメモリ使用量を監視します

メタテーブルと OOP

  • オブジェクト指向のパターンにはメタテーブルを使用します
  • 継承には __index を実装します
  • プロパティの検証には __newindex を使用します
  • メタメソッドを適切に活用します

ゲーム開発

  • 適切なゲームループ構造を実装します
  • 衝突判定の効率を最適化します
  • ゲームの状態を効果的に管理します
  • 入力処理を効率的に行います
  • ゲームエンジン(Love2D、Corona など)と適切に連携します

テストとドキュメント

  • 重要な関数にはユニットテストを書きます
  • 関数のパラメーターと戻り値を文書化します
  • 公開インターフェースには使用例を記載します

コメント