node()


説明

ノードテーブルから指定するノードのデータ領域を返します。

構文
$node_data = node( nodeno );
Perl

引数
nodeno : ノード番号
Perl

返り値
node_data : データ領域
            ( データ型: ハッシュリファレンス )
          = { name => value, ... }
Perl

備考

取得したデータ領域は単なるハッシュなので、

node( $nodeno )->{'name'} = $value;       # 値の追加・更新
my $value = node( $nodeno )->{'name'};    # 値の参照
delete( node( $nodeno )->{'name'} );      # 設定名の削除
Perl

とすれば、追加、参照、削除することができます。

保存できるデータのデータ型は、ハッシュに代入できるものは全て可能です。

node( nodeno )->{'Module'} = new Module();              # オブジェクト
node( nodeno )->{'Array'} = [ 1, 2, 3 ];                # 配列
node( nodeno )->{'Code'} = sub { undef };               # コード
Perl

ノードテーブルはBBS.pm自身が使用するデータも保存されるため、 誤って削除したり書き換えたりしないよう、十分注意する必要があります。

システムが使用するデータは次の通りです。

設定名 説明
__Socket ソケットオブジェクト
AppWork AppWorkハンドラ
Disconnected 切断フラグ

データを安全に管理する方法として、パラメータを管理するためのモジュールを使用したり、パラメータ専用の設定名を設け、その中で管理するなどがあります。

BIG-Modelアプリケーションでは、パラメータ管理モジュール(Param)を使用しています。詳しくはこちらをご覧ください。

Task Runner