複数行文字列, 先頭行をデキュー
複数行文字列, 先頭行をデキュー (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

複数行文字列から先頭行を取り除きます。文字列はオリジナルに比べて1行少なくなります。ループフロー内や再帰反復ワークフロー内に配置すると、データリスト(複数行文字列)の逐次処理が実現できます。

Appendix

  • Error Log sample1 (Empty or LFcode only)
    • AutomatedTask ConfigError: Config {A:Multiline} is empty

See also

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

%d人のブロガーが「いいね」をつけました。