はじめに
エンジニア(プログラマ)のスキルチェック手法の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つ追加します。
2.レシピの作成
ステップ1
トリガーとなるコネクタを選択(今回はScheduler by Workatoを使用)
ステップ2
App
Action
「Create repeat helper list」を選択
Setup
「Size」へループしたい回数を入力
今回は100回ループさせたいため、「100」と入力
ステップ3
App
Action
Setup
「Lookup table」で、1で追加したLookup Tableを指定
ステップ4
ステップ5
Data fieldをFormulaモードに切り替え、次の条件で数式を設定する
- ループのインデックスは0から始まるため、
+1
する - 上記値が3でも5でも割り切れない場合の評価をTrueとする
設定については、以下を参照
ステップ6
App
Action
Setup
- 1で追加したLookup Tableを指定する
- Entry fieldsのnoは、ループのインデックス + 1 とする(インデックスが0スタートであるため)
- Entry fieldsのvalueは空欄とする(Fizz, Buzzどちらの条件にも当てはまらないため)
設定については、以下を参照
ステップ7
Data fieldをFormulaモードに切り替え、次の条件で数式を設定する
- ループのインデックスは0から始まるため、
+1
する - 上記値が3と5いずれも割り切れる場合の評価をTrueとする
設定については、以下を参照
ステップ8
App
Action
Setup
- 1で追加したLookup Tableを指定する
- Entry fieldsのnoは、ループのインデックス + 1 とする(インデックスが0スタートであるため)
- Entry fieldsのvalueは「Fizz, Buzz」とする
ステップ9
設定不要
ステップ10
Data fieldをFormulaモードに切り替え、次の条件で数式を設定する
- ループのインデックスは0から始まるため、
+1
する - 上記値が3で割り切れる場合の評価をTrueとする
ステップ11
App
Action
Setup
- 1で追加したLookup Tableを指定する
- Entry fieldsのnoは、ループのインデックス + 1 とする(インデックスが0スタートであるため)
- Entry fieldsのvalueは「Fizz」とする
ステップ12
Data fieldをFormulaモードに切り替え、次の条件で数式を設定する
- ループのインデックスは0から始まるため、
+1
する - 上記値が5で割り切れる場合の評価をTrueとする
ステップ13
App
Action
Setup
- 1で追加したLookup Tableを指定する
- Entry fieldsのnoは、ループのインデックス + 1 とする(インデックスが0スタートであるため)
- Entry fieldsのvalueは「Buzz」とする
結果
Lookup Tableを確認すると、以下の通りの結果になったことを確認することが出来ます。
- Noの値が3と5どちらでも割れる(すなわち15の倍数である)場合・・・Fizz, Buzz
- Noの値が3で割れる(5では割れない)場合・・・Fizz
- Noの値が5で割れる(3では割れない)場合・・・Buzz
- 上記いずれにも当てはまらない・・・空