Overwrite with Sequential (for Targetted 2D-Array)
連番書き込み、二次元配列専用
ASTER::ACTION::JSON
::Overwrite with Sequential Numbering, Dedicated for 2D-Array.
using JSON Poinetr..
二次元配列専用の JSON データ編集機能、自動化された特殊なループ処理設計された機能
二次元配列に「整数型」数値を一括代入する際に利用されます。
二次元配列の特定要素に対してループ処理で通し ( Sequential Numbering ) を入力します。
パラメータ.1
JSON Pointer
e.g. “/test/0/0” = ( キー名が “test” の二次元配列、test[0][0] を対象としたループ処理 )
キー名 “test” が二次元配列であるか型チェックを行っています。
型が一致しない場合、すべての処理は中断され命令は実行終了します。
e.g.
"/test" = 配列である
"/test/0" = 配列である ( ここで二次元配列であると確定、ループ処理対象 )
"/test/0/0" = 配列要素指定 ( 0 だから配列の先頭要素が指定されている例、固定 )
配列要素指定とループ処理回数指定を設定できるので、ループ開始・終了位置を調整できます。
e.g.
“/test” が 5 つの要素を持った配列で、ループ処理回数が 2 と指定された場合、
“/test/2/0” = test[2][0] からループ処理開始。
test[0] - test[1] - { test[2][0] - test[3][0] } - test[4];
{ test[2] - test[3] } だけがループ処理対象となる。
JSON Array 形式の多次元配列は異なる型の混在が可能なので、"/test/2" が配列だった場合、次の “/test/3” も配列であるとは限らない。
ループ処理実行中に型チェックエラーが発生した場合、ループ処理はスキップされエラーは出さない。
型チェックはループ処理毎に実行されているので、"/test/3" が整数型だった場合、型チェックがエラーを出し通し番号の入力処理はスキップされる。
スキップ後、まだループ処理が残っている場合、インデックスは一つ進み、型チェックが再度実行される。
今回の例だとループ処理回数が 2 なので、"/test/3" で型チェックエラーが発生したらループ終了となる。
“/test/2” が配列でなかった場合、実行前の型チェックエラーで弾かれるから、そもそもループ処理が開始されない。
test[0][0]
↑ ↑
| + ------ 固定されている配列要素 >> ループが進んでも要素数は不変
|
+ --------- ループ処理対象の配列要素 >> 0,1,2...とループは進む
test[0][0] → test[1][0] → test[2][0] ...
↑ ↑ ↑
パラメータ.2
「整数型」数値を文字列型で1つのパラメータにまとめて送信します。
書式チェックがあるため、無効な数値を入力した場合、実行時に書式エラーが出ます。
書式エラーが出た場合、すべての処理を中断し命令は実行終了します。
e.g. " 3 , 0 , +1 " = ( ループ処理回数、通し番号の開始数、通し番号に対する増減値 )
可読性向上のためホワイトスペースは自由に利用できます。
値は全て整数、符号無し整数はループ処理回数のみ。あとは符号付き整数が利用できます。
ループ処理回数はマイナス値を入力できません。入力した場合、書式エラーになります。
通し番号はプラスマイナス値を設定できます。
増減値は通し番号に対して加算される値です。可読性のため符号の利用を推奨。
書式エラーの例 e.g. “-1, 0, -1” = ( ループ回数がマイナス値 ) e.g. " 3, 10, +0.1" = ( 浮動小数点の利用 )