0
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 1 year has passed since last update.

WorkatoAdvent Calendar 2022

Day 23

Workato:FizzBuzz問題をノーコードで実装する

Last updated at Posted at 2023-01-11

はじめに

エンジニア(プログラマ)のスキルチェック手法の1つに、「FizzBuzz問題」というものがあります。
今回は、Workatoを利用して、ノーコードでFizzBuzz問題を実装し、試してみました。

FizzBuzz問題とは

※「「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典」より抜粋

フィズバズ問題(FizzBuzz問題)(読:フィズバズモンダイ 英:FizzBuzz)とは
そいつの実力を測るために出されたりするプログラミングの問題のひとつ
であり
「1から100までの数字を画面に表示する。ただし、3の倍数のときは数字の代わりにFizzと表示し、5の倍数のときは数字の代わりにBuzzと表示し、15の倍数のときは数字の代わりにFizzBuzzと表示する」プログラムを組んでみろやぁ!な問題のこと
です。

なお、以下の手順では、FizzBuzz問題のうち、最も一般的な剰余算による方法で実装を行っています。

手順

1.Lookup Tableの追加

結果出力先はどこでも良いのですが、今回は手軽な出力先として、Workatoに標準で用意されている機能であるLookup Tableを使用します。
結果格納用にLookup Tableを1つ追加します。
image.png

2.レシピの作成

次のようなレシピを作成します。
image.png

ステップ1

トリガーとなるコネクタを選択(今回はScheduler by Workatoを使用)

ステップ2

App

「Lists by Workato」を選択
image.png

Action

「Create repeat helper list」を選択
image.png

Setup

「Size」へループしたい回数を入力
今回は100回ループさせたいため、「100」と入力
image.png

ステップ3

App

「Lookup tables by Workato」を選択
image.png

Action

「Truncate table」を選択
image.png

Setup

「Lookup table」で、1で追加したLookup Tableを指定
image.png

ステップ4

「Repeat action」を追加
image.png

追加後、以下の通り設定
image.png

ステップ5

「IF condition」を追加
image.png

Data fieldをFormulaモードに切り替え、次の条件で数式を設定する

  • ループのインデックスは0から始まるため、+1 する
  • 上記値が3でも5でも割り切れない場合の評価をTrueとする

設定については、以下を参照

image.png

ステップ6

App

「Lookup tables by Workato」を選択
image.png

Action

「Add entry」を選択
image.png

Setup

  • 1で追加したLookup Tableを指定する
  • Entry fieldsのnoは、ループのインデックス + 1 とする(インデックスが0スタートであるため)
  • Entry fieldsのvalueは空欄とする(Fizz, Buzzどちらの条件にも当てはまらないため)

設定については、以下を参照

image.png

ステップ7

「IF/ELSE condition」を追加
image.png

Data fieldをFormulaモードに切り替え、次の条件で数式を設定する

  • ループのインデックスは0から始まるため、+1 する
  • 上記値が3と5いずれも割り切れる場合の評価をTrueとする

設定については、以下を参照

image.png

ステップ8

App

「Lookup tables by Workato」を選択
image.png

Action

「Add entry」を選択
image.png

Setup

  • 1で追加したLookup Tableを指定する
  • Entry fieldsのnoは、ループのインデックス + 1 とする(インデックスが0スタートであるため)
  • Entry fieldsのvalueは「Fizz, Buzz」とする

設定については、以下を参照
image.png

ステップ9

設定不要

ステップ10

「IF condition」を追加
image.png

Data fieldをFormulaモードに切り替え、次の条件で数式を設定する

  • ループのインデックスは0から始まるため、+1 する
  • 上記値が3で割り切れる場合の評価をTrueとする

設定については、以下を参照
image.png

ステップ11

App

「Lookup tables by Workato」を選択
image.png

Action

「Add entry」を選択
image.png

Setup

  • 1で追加したLookup Tableを指定する
  • Entry fieldsのnoは、ループのインデックス + 1 とする(インデックスが0スタートであるため)
  • Entry fieldsのvalueは「Fizz」とする

設定については、以下を参照
image.png

ステップ12

「IF condition」を追加
image.png

Data fieldをFormulaモードに切り替え、次の条件で数式を設定する

  • ループのインデックスは0から始まるため、+1 する
  • 上記値が5で割り切れる場合の評価をTrueとする

設定については、以下を参照
image.png

ステップ13

App

「Lookup tables by Workato」を選択
image.png

Action

「Add entry」を選択
image.png

Setup

  • 1で追加したLookup Tableを指定する
  • Entry fieldsのnoは、ループのインデックス + 1 とする(インデックスが0スタートであるため)
  • Entry fieldsのvalueは「Buzz」とする

設定については、以下を参照
image.png

結果

Lookup Tableを確認すると、以下の通りの結果になったことを確認することが出来ます。

  • Noの値が3と5どちらでも割れる(すなわち15の倍数である)場合・・・Fizz, Buzz
  • Noの値が3で割れる(5では割れない)場合・・・Fizz
  • Noの値が5で割れる(3では割れない)場合・・・Buzz
  • 上記いずれにも当てはまらない・・・空

image.png
image.png
image.png
image.png
image.png

0
0
3

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
0
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?