🎉 initial commit: Nyash Programming Language完成版
🚀 主要機能: • Everything is Box哲学による革新的アーキテクチャ • WebAssemblyブラウザー対応プレイグラウンド • アーティスト協同制作デモ - 複数Boxインスタンス実証 • 視覚的デバッグシステム - DebugBox完全統合 • static box Mainパターン - メモリ安全設計 ⚡ 言語機能: • NOT/AND/OR/除算演算子完全実装 • ジェネリクス/テンプレートシステム • 非同期処理(nowait/await) • try/catchエラーハンドリング • Canvas統合グラフィックス 🎨 ブラウザー体験: • 9種類のインタラクティブデモ • リアルタイムコード実行 • WebCanvas/WebConsole/WebDisplay • モバイル対応完了 🤖 Built with Claude Code collaboration Ready for public release!
This commit is contained in:
44
examples/text_adventure/test_debug_fields.nyash
Normal file
44
examples/text_adventure/test_debug_fields.nyash
Normal file
@ -0,0 +1,44 @@
|
||||
// Debug field visibility
|
||||
|
||||
box TestBox {
|
||||
init { x, y }
|
||||
|
||||
TestBox(x, y) {
|
||||
me.x = x
|
||||
me.y = y
|
||||
}
|
||||
|
||||
debugFields() {
|
||||
print("From inside method:")
|
||||
print(" me.x = " + me.x)
|
||||
print(" me.y = " + me.y)
|
||||
}
|
||||
}
|
||||
|
||||
// Direct creation
|
||||
print("=== Direct Creation ===")
|
||||
direct = new TestBox(10, 20)
|
||||
print("Field access: x=" + direct.x + ", y=" + direct.y)
|
||||
direct.debugFields()
|
||||
|
||||
// Function return
|
||||
print("\n=== Function Return ===")
|
||||
function createBox() {
|
||||
b = new TestBox(30, 40)
|
||||
print("Inside function, before return:")
|
||||
print(" b.x = " + b.x)
|
||||
print(" b.y = " + b.y)
|
||||
b.debugFields()
|
||||
return b
|
||||
}
|
||||
|
||||
returned = createBox()
|
||||
print("\nAfter return:")
|
||||
returned.debugFields() // Method should still work
|
||||
try {
|
||||
print("Direct field access: x=" + returned.x)
|
||||
} catch {
|
||||
print("ERROR: Direct field access failed!")
|
||||
}
|
||||
|
||||
print("\n✅ Debug test completed!")
|
||||
Reference in New Issue
Block a user