Files
hakorune/apps/smokes/std/array_smoke_dbg.nyash
Tomoaki 7d88c04c0e wip(phase15): AOT修正作業中 - Nyプラグインと標準ライブラリ実装
Phase 15のAOT/ネイティブビルド修正作業を継続中。
ChatGPTによるstd実装とプラグインシステムの改修を含む。

主な変更点:
- apps/std/: string.nyashとarray.nyashの標準ライブラリ追加
- apps/smokes/: stdライブラリのスモークテスト追加
- プラグインローダーv2の実装改修
- BoxCallのハンドル管理改善
- JIT hostcall registryの更新
- ビルドスクリプト(build_aot.sh, build_llvm.sh)の調整

まだ修正作業中のため、一部の機能は不完全な状態。

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 06:24:08 +09:00

44 lines
886 B
Plaintext

static box Main {
main() {
local A
A = include "apps/std/array.nyash"
local fails
fails = 0
local a
a = new ArrayBox()
print("len0=" + A.array_len(a))
// push
print("push1->" + A.array_push(a, 10))
print("push2->" + A.array_push(a, 20))
print("len2=" + A.array_len(a))
// pop
local v
v = A.array_pop(a)
print("pop1=" + v)
print("len1=" + A.array_len(a))
// pop remaining and one extra -> null
v = A.array_pop(a)
print("pop2=" + v)
v = A.array_pop(a)
print("pop3=" + v)
// slice
A.array_push(a, 1)
A.array_push(a, 2)
A.array_push(a, 3)
local s
s = A.array_slice(a, 0, 2)
print("slice_len1=" + s.length())
print("s[0]=" + s.get(0))
print("s[1]=" + s.get(1))
// clamp
s = A.array_slice(a, -5, 99)
print("slice_len2=" + s.length())
return 0
}
}