5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ASTERIAマッパーサンプル1

Posted at

##マッパー関数の使い方が分からない!
筆者自身も初心者なのですが、とにかくサンプルが少ない。困った。
もう少し具体的に言えば「文字列」や「数値」、「日付」くらいはまぁまぁ初見やヘルプ、プロパティを少しいじれば何となくイメージはつくものの、「論理」や「制御」あたりになると、もう初心者は「具体的にどう使うの?」というところに困ってしまうのです。(「少なくとも筆者は困りましたので「地球上で少なくとも一人以上は困った」という命題は真であります。)
文字列
0001_文字列.PNG
数値
0002_数値.PNG
日付
0003_日付.PNG
論理
0004_論理.PNG
制御
0005_制御.PNG
ということで「使い方が想像できないマッパー関数の使い方を身に着けるために」超簡単ではありますが、サンプルを日ごろ作ってみたりしています。
######ちなみに
このような実験をするときは以下のようなマスタを作っておくと便利です。
0010_サンプルマスタ(全体).jpg
また、フロー変数は以下のようにしています。

変数名 データ型 初期値 公開 変更 説明
Str1 String false true
Str2 String false true
Str3 String false true
Str4 String false true
Str5 String false true
Int1 Integer false true
Int2 Integer false true
Int3 Integer false true
Int4 Integer false true
Int5 Integer false true
Doub1 Double false true
Doub2 Double false true
Doub3 Double false true
Doub4 Double false true
Doub5 Double false true
Dec1 Decimal false true
Dec2 Decimal false true
Dec3 Decimal false true
Dec4 Decimal false true
Dec5 Decimal false true
Bool1 Boolean false false true
Bool2 Boolean false false true
Bool3 Boolean false false true
Bool4 Boolean false false true
Bool5 Boolean false false true
DateTime1 DateTime false true
DateTime2 DateTime false true
DateTime3 DateTime false true
DateTime4 DateTime false true
DateTime5 DateTime false true
Bin1 Binary false true
Bin2 Binary false true
Bin3 Binary false true
Bin4 Binary false true
Bin5 Binary false true

このフローを複製してサンプル(実験)をしています。
※Boolは初期値を用意しなかったのですが、指定しないとデフォルトでfalseになるようです。

##本題:「else if」を作ってみた。
「SelectIndex」のヘルプに依れば「Choice」と組み合わせてできるらしい。
使用したマッパー関数

  • Equal
  • SelectIndex
  • Choice

####フロー
非常にシンプルです。
0030_マッパー関数サンプル(else if).PNG

####マッパーの中身
※解説が見にくかったのでグリッドを消しました。
 消し方はこちら
こちら。(宣伝)
0050_Map1.PNG

ちなみにフロー変数は下のようになっています。

変数名 データ型 初期値 公開 変更 説明
Str1 String aaa false true
Str2 String bbb false true
Str3 String ccc false true
Str4 String aaa false true
Str5 String ddd false true
Int1 Integer 1 false true
Int2 Integer 2 false true
Int3 Integer 3 false true
Int4 Integer 4 false true
Int5 Integer 5 false true

※必要なものだけ記載しました。

####処理の流れ

  1. 最初の「(Str1 == Str2)?」を判定。一致ならtrue、不一致ならfalseがSelectIndexに流れます。(SelectIndexにとっては「(Str1 == Str2)?」が「入力1」)
  2. もしtureがSelectIndexに流れたらSelectIndexはChoiceに「1」(入力1)を流します。Choiceはベースが1なのでChoiceにとっての「入力2」(入力1はSelectIndexから流れてくる数値を判断するために使っているので)である「Int1」の値がObjectに流れます。
  3. 最初の「(Str1 == Str2)?」が不一致でfalseなら次の「(Str1 == Str3)?」が判定されます。
  4. 以上を繰り返します。
  5. 最後の判定「(Str1 == Str5)?」も(つまり全ての判定が)falseならばSelectIndexの入力数「4つ」に+1をした「5」がChoiceに流れます。
  6. SelectIndexから「5」がChoiceに流れた場合はChoiceにとっての「入力6」である「Int5」の値がObjectに流れます。

##最後に
「やはりASTERIAは初学者のためのサンプルが少ない!」と思うわけですが、「開発経験ゼロでもまぁまぁ三ヶ月くらいでこのくらいはできる」ので、すごいなあ、とも思うわけです。

もっともっとこんな簡単でコンポーネントや関数あなるよ~という情報あったら是非教えてください。
ご清覧ありがとうございました。

5
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?