複数行文字列, 先頭行をデキュー (Multiline String, Dequeue First)
複数行文字列から先頭行を取り除きます。文字列はオリジナルに比べて1行少なくなります。ループフロー内や再帰反復ワークフロー内に配置すると、データリスト(複数行文字列)の逐次処理が実現できます。
Configs
- A: 複数行文字列をセットしてください *#{EL}
- B: 抽出された先頭行が格納される文字列型データを選択してください (更新) *
- C: 削除後の複数行文字列が格納される文字列型データを選択してください (更新) *
Script (click to open)
// GraalJS Script (engine type: 2)
/*
NOTES
- Blank lines in multiline string "A" are deleted in advance.
- An error will occur, if the multiline string "A" is empty.
NOTE-ja
- 複数行文字列A内の空行(改行コードのみの行)は、あらかじめ削除されます
- 複数行文字列Aが空文字列の場合(となる場合)、エラーとなります
*/
//////// START "main()" /////////////////////////////////////////////////////////////////
main();
function main(){
//// == Config Retrieving / 工程コンフィグの参照 ==
const strOriginal = configs.get( "StrConfA" ) + ""; // required
const strPocketTarget = configs.getObject( "SelectConfB" ); // required
const strPocketModified = configs.getObject( "SelectConfC" ); // required
let strOriginal2 = strOriginal.replace(/^\n/gm, "")
if( strOriginal2 === "" ){
throw new Error( "\n AutomatedTask ConfigError:" +
" Config {A:Multiline} is empty \n" );
}
//// == Data Retrieving / ワークフローデータの参照 ==
// (nothing)
//// == Calculating / 演算 ==
let arrModified = strOriginal2.split("\n");
engine.log( " AutomatedTask Original length: " + arrModified.length );
let strTarget = arrModified.shift();
let strModified = arrModified.join("\n");
if( strModified === "" ){
engine.log( " AutomatedTask Modified: (empty)" );
}
//// == Data Updating / ワークフローデータへの代入 ==
engine.setData( strPocketTarget, strTarget );
engine.setData( strPocketModified, strModified );
} //////// END "main()" /////////////////////////////////////////////////////////////////
/*
APPENDIX
- Error Log sample1 (Empty or LFcode only)
- AutomatedTask ConfigError: Config {A:Multiline} is empty
*/

Download
2020-10-15 (C) Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/multiline-string-dequeue-first/
Addonファイルのインポートは Professional でのみご利用いただけます
Notes
- 複数行文字列A内の空行(改行コードのみの行)は、あらかじめ削除されます
- 複数行文字列Aが空文字列の場合(となる場合)、エラーとなります
Capture
Appendix
- Error Log sample1 (Empty or LFcode only)
- AutomatedTask ConfigError: Config {A:Multiline} is empty
See also
Related