====== AlWorker 値の保持・提供 ====== require "al_worker" ---- 画面への表示や、クライアントプログラムへの提供を目的とした値の保持機能をもちます。 具体的には、変数 @values にHashで保存された値を、整合性をもって書き換える機能のことです。 ===== 自プログラムからの利用 ===== setter と getter を使います。 速度優先でデザインされ、シンプルな機能を実装しています。 # キー "key1" の値として "value1" を保存 set_value( "key1", "value1" ) # 複数の値を一括保存 set_values( "key1"=>"value1", "key2"=>"value2" ) # キー "key1"の値を取得 v = get_value( "key1" ) # 複数の値を一括取得 v = get_values( ["key1", "key2"] ) 値は、jsonフォーマット文字列でも取得できます。 機能優先でデザインされ、3種類の引数を受け付けます。 json = get_values_json( "key1" ) json = get_values_json( ["key1", "key2"] ) json = get_values_json() getterでは、返り値をdupして返しますが、簡素化のためにディープコピーは行いません。\\ そのため、文字列などでは問題ありませんが、配列等の場合はプログラム側で気をつける必要があります。\\ イニシャライザ等、他からの書き換えがまだ発生しえない状況ならば、@valuesを直接書き換えることができます。 @values["key1"] = "value1" ===== 値の保存・読み込み ===== @valuesに保存されている値を、ファイルへ書き出します。 ファイルは、デフォルトで /tmp ディレクトリへ、ファイル名はAlWorkerコンストラクタで指定した名前 + .values として書き出します。 save_values() 値の読み込み load_values() load_values( "filename" )