nyash

ビルトインBox型 API リファレンス

Nyashで利用できる全ビルトインBox型のAPI仕様書です。

📡 P2PBox - 通信ノードBox

P2P通信を行うノードを表すBox。通信世界(IntentBox)に参加してメッセージを送受信できます。

コンストラクタ

// 通信ノードを作成
local node = new P2PBox(node_id, world)

パラメータ:

メソッド

send(intent, data, target)

特定のノードにメッセージを送信します。

local result = node.send("greeting", message_data, "target_node_id")

パラメータ:

戻り値: StringBox(“sent”)

on(intent, callback)

指定したintentのメッセージを受信した際のリスナーを登録します。

node.on("chat", callback_function)

パラメータ:

戻り値: StringBox(“listener added”)

off(intent)

指定したintentのリスナーを解除します。

node.off("chat")

パラメータ:

戻り値: StringBox(“listener removed” / “no listener found”)

get_node_id()

このノードのIDを取得します。

local id = node.get_node_id()

戻り値: StringBox(ノードID)

使用例

// 通信世界を作成
local world = new IntentBox()

// 2つのノードを作成
local alice = new P2PBox("alice", world)
local bob = new P2PBox("bob", world)

// Bobがgreetingを受信するリスナー設定
bob.on("greeting", greeting_handler)

// AliceからBobにメッセージ送信
local message = new MapBox()
message.set("text", "Hello Bob!")
alice.send("greeting", message, "bob")

📨 IntentBox - 通信世界Box

P2PBoxが通信を行うための世界(ネットワーク)を表すBox。複数のノードが同一のIntentBoxを共有して通信します。

コンストラクタ

// 通信世界を作成
local world = new IntentBox()

パラメータ: なし

特徴

使用例

// 1つの通信世界に複数ノードが参加
local world = new IntentBox()
local node1 = new P2PBox("server", world)
local node2 = new P2PBox("client", world)

// 同一世界内での通信が可能
node1.send("data", payload, "client")

📝 StringBox - 文字列Box

文字列データを格納・操作するBox。

コンストラクタ

local text = new StringBox("Hello")

基本メソッド


🔢 IntegerBox - 整数Box

整数データを格納・操作するBox。

コンストラクタ

local num = new IntegerBox(42)

基本メソッド


📺 ConsoleBox - コンソール出力Box

コンソールへの出力を行うBox。

コンストラクタ

local console = new ConsoleBox()

メソッド


🗂️ MapBox - 連想配列Box

キー・バリューペアでデータを格納するBox。

コンストラクタ

local map = new MapBox()

メソッド


最終更新: 2025年8月11日