- Archive old documentation and test files to `docs/archive/` and `local_tests/`. - Remove various temporary and old files from the project root. - Add `nekocode-rust` analysis tool and its output files (`nekocode/`, `.nekocode_sessions/`, `analysis.json`). - Minor updates to `apps/chip8_nyash/chip8_emulator.nyash` and `local_tests` files. This commit cleans up the repository and sets the stage for further code modularization efforts, particularly in the `src/interpreter` and `src/parser` modules, based on recent analysis.
57 lines
1.4 KiB
Plaintext
57 lines
1.4 KiB
Plaintext
# 🔥 Phase 8.8: pack透明化システム テスト
|
||
# ユーザーは`pack`を一切意識せず、`from BuiltinBox()`で自動動作
|
||
|
||
print("=== pack透明化システム テスト開始 ===")
|
||
|
||
# テストA: ユーザー定義Box基本動作 (birth優先)
|
||
box Life {
|
||
init { name, energy }
|
||
|
||
birth(lifeName) {
|
||
me.name = lifeName
|
||
me.energy = 100
|
||
}
|
||
|
||
introduce() {
|
||
return "私の名前は " + me.name + " です。"
|
||
}
|
||
}
|
||
|
||
local alice = new Life("Alice")
|
||
print("A. " + alice.introduce())
|
||
|
||
# テストB: ビルトインBox継承(明示的pack使用)
|
||
box EnhancedString from StringBox {
|
||
init { prefix }
|
||
|
||
pack(content) {
|
||
from StringBox.pack(content) # 明示的pack
|
||
me.prefix = ">>> "
|
||
}
|
||
|
||
override toString() {
|
||
return me.prefix + from StringBox.toString()
|
||
}
|
||
}
|
||
|
||
local enhanced = new EnhancedString("Hello")
|
||
print("B. " + enhanced.toString())
|
||
|
||
# テストC: 透明化システム動作 - 最重要テスト
|
||
box SimpleString from StringBox {
|
||
init { prefix }
|
||
|
||
birth(content, prefixStr) {
|
||
from StringBox(content) # ← 透明化!内部的にpack呼び出し
|
||
me.prefix = prefixStr
|
||
}
|
||
|
||
override toString() {
|
||
return me.prefix + from StringBox.toString()
|
||
}
|
||
}
|
||
|
||
local simple = new SimpleString("World", "<<< ")
|
||
print("C. " + simple.toString())
|
||
|
||
print("=== pack透明化システム テスト完了 ===") |