Nyashで利用できる全ビルトインBox型のAPI仕様書です。
P2P通信を行うノードを表すBox。通信世界(IntentBox)に参加してメッセージを送受信できます。
// 通信ノードを作成
local node = new P2PBox(node_id, world)
パラメータ:
node_id
(String): ノードの一意識別子world
(IntentBox): 参加する通信世界特定のノードにメッセージを送信します。
local result = node.send("greeting", message_data, "target_node_id")
パラメータ:
intent
(String): メッセージの種類data
(Box): 送信するデータtarget
(String): 送信先ノードID戻り値: StringBox(“sent”)
指定したintentのメッセージを受信した際のリスナーを登録します。
node.on("chat", callback_function)
パラメータ:
intent
(String): 監視するメッセージ種類callback
(MethodBox): 受信時に呼ばれる関数戻り値: StringBox(“listener added”)
指定したintentのリスナーを解除します。
node.off("chat")
パラメータ:
intent
(String): 解除するメッセージ種類戻り値: StringBox(“listener removed” / “no listener found”)
このノードの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")
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")
文字列データを格納・操作するBox。
local text = new StringBox("Hello")
toString()
: 文字列表現を取得length()
: 文字列長を取得concat(other)
: 文字列結合substring(start, end)
: 部分文字列取得整数データを格納・操作するBox。
local num = new IntegerBox(42)
toString()
: 文字列表現を取得add(other)
: 加算subtract(other)
: 減算multiply(other)
: 乗算divide(other)
: 除算コンソールへの出力を行うBox。
local console = new ConsoleBox()
log(message)
: メッセージをログ出力error(message)
: エラーメッセージを出力キー・バリューペアでデータを格納するBox。
local map = new MapBox()
set(key, value)
: キー・バリューを設定get(key)
: 値を取得has(key)
: キーが存在するかチェックremove(key)
: キー・バリューを削除最終更新: 2025年8月11日