ブロックの組み立て方(Haskell編)
下図は、Blockly for Haskell のワークスペースにブロックが何も組み立てられていない初期状態です。
以下のHaskellコードをBlocklyで組み立てます。
haskellコードをBlocklyで組み立てる手順
①mainブロックとdoブロックの設置 ブロックメニュー部の制御カテゴリをクリックして、その一番上のブロックをワークスペース部にドラッグします。
②printブロックの接続 ブロックメニュー部のテキストカテゴリをクリックして、その上から4番目のブロックをワークスペース部にドラッグします(左図)。 それらのブロックをさきほど手順①でワークスペース部に配置したdoブロックの右部分に接続します(右図)。
③関数fooブロックの用意 ブロックメニュー部の関数カテゴリをクリックして、その上から2番目のブロックをワークスペース部にドラッグします。そして、入力フォームの部分をfooに書き換えます(左図)。 それらのブロックをさきほど手順①でワークスペース部に配置したmainブロックの上部分に接続します(右図)。
④関数fooブロックの引数設定 さきほど設置した関数fooブロックの歯車マークをクリックすると左図のような小さなブロックメニュー部とワークスペース部が表示されます。 その小さなブロックメニュー部の引数ブロックを小さなワークスペース部の引数列ブロックに接続します。すると、関数fooブロックの左辺にソケット(穴)が1つ増えたことが確認できます。(右図)。
⑤リスト内表表記ブロックの接続 ブロックメニュー部のリスト内包表記カテゴリの一番上のリスト内包表記ブロック1つと上から2番目パターン束縛ブロックを2つ取り出します。 リスト内包表記ブロックを関数fooブロックの右ソケットに接続します(左図)。 次に、パターン束縛2つをリストブロックの内側に接続します(右図)。
⑥リストブロックの接続 ブロックメニュー部のリスト(基本)カテゴリの上から3番目のリスト組ブロック1つと上から6番目のパターン範囲ブロックを2つ取り出します。 リスト組ブロックをリスト内表表記ブロックのソケットに接続します。(左図)。 次に、パターン範囲ブロック2つをそれぞれパターン束縛ブロックの右のソケットに接続します(右図)。
⑦変数ブロックの接続 ブロックメニュー部の変数カテゴリの一番上の「変数の作成...」をクリックすると、画面の中央に入力フォームが出現します。 そこに「x」と「y」と「n」をそれぞれ記入します。すると、ブロックメニュー部の変数カテゴリに右図のようなブロックが用意されます。 そして右図のようにそれぞれのソケットに適当な数の変数ブロックを接続していきます。
⑧関数foo呼び出しブロックと定数ブロック接続 ブロックメニュー部の関数カテゴリの一番下にある関数foo呼び出しブロックを取り出してprintブロックのソケットに接続します(左図)。 次に、ブロックメニュー部の数カテゴリの一番上にある定数ブロックを2つ取り出して、それぞれのブロックの入力フォームに「0」と「6」を入力して、残りの空いている2か所のソケットに右図のように接続します。
ブロックの完成図
下図は、前項の手順で組み立てたワークスペース部の完成図です。