Menu
Coddy logo textTech

プロジェクトのセットアップ

CoddyのLuaジャーニー「Object Oriented Programming」セクションの一部 — レッスン 55/70。

challenge icon

チャレンジ

簡単

Shape Managerシステムの基礎を構築しましょう!このプロジェクトは次の数レッスンにわたって成長していくため、まずはベースとなる Shape クラスを含むクリーンなファイル構造をセットアップすることから始めます。

コードを整理するために2つのファイルを作成します:

  • Shape.lua: プロトタイプパターンを使用してベースとなる Shape クラスを定義します。すべての図形は name 属性("Circle" や "Rectangle" など)を持ちます。図形の名前を受け取る :new(name) コンストラクタと、それを返す :getName() メソッドを含めてください。
  • main.lua: モジュールを require し、図形のインスタンスを作成することで、Shape クラスを実際に動かします。入力から図形の名前を読み取り、その名前で Shape を作成し、:getName() を呼び出した結果を出力してください。

このベースクラスは、今後のレッスンで Rectangle や Circle といった特定の図形の親クラスとして機能します。今は、クラス構造を正しく整えること(__index の設定、コンストラクタのパターン、およびゲッターメソッド)に集中してください。

入力: 図形の名前(文字列)を含む1行。

出力: :getName() によって返される図形の名前。

自分で試してみよう

-- Shapeモジュールを読み込む
local Shape = require('Shape')

-- 入力から図形の名前を読み込む
local shapeName = io.read()

-- TODO: 指定された名前で新しい Shape インスタンスを作成する

-- TODO: 作成した図形に対して :getName() を呼び出した結果を出力する

Object Oriented Programmingのすべてのレッスン