![見出し画像](https://assets.st-note.com/production/uploads/images/71712516/rectangle_large_type_2_b9b6d0d3d04c21345a573a91f1692009.png?width=800)
【Robo Blocksの使い方】ブロック定義の使い方_その3 引数の設定1
ソフトバンクロボティクスでPepperを使ったプログラミング教育を担当してる佐藤です!
前回と前々回に引き続き、ブロック定義について紹介します。
今回は、ブロックを作るときに追加できる引数についてです。
引数
引数とはブロックに引き渡す値のことです。引き渡される値なので略して引数ですね。
しゃべるブロックを例に見てみましょう。
![](https://assets.st-note.com/img/1644239813594-XJ9bmLCqvO.png?width=1200)
しゃべるブロックには「内容」「高さ」「速さ」3つの値をブロックに渡しています。この場合、3つの値が全てが引数です。これによってしゃべるブロックに内容「こんにちは」高さ「100」速さ「100」が渡されしゃべるブロックはこの値をもとに動いています。
引数は必ず必要なわけではありません。
値を使用しないブロックの場合、引数の個数は0です。
文字ブロックの場合、表示には引数を使いますが、非表示にするときは何が表示されていようが消すだけですので引数を必要としません。
![](https://assets.st-note.com/img/1644240229733-2rAiNj0Y3W.png?width=1200)
ブロック定義で引数を設定する
ブロック定義でも必要であれば引数を要求するブロックを作ることができます。
ブロックを作る画面を見てみると、下部に引数を追加できるボタンがあります。
![](https://assets.st-note.com/img/1644240437536-RxyvrCYKAm.png?width=1200)
このボタンを使って引数を追加することができますので、まずは一番左の"数値またはテキスト"を追加して使ってみます。
追加すると以下のようになりました。
![](https://assets.st-note.com/img/1644240764162-wnUwToN0pf.png?width=1200)
ブロック名や引数名は好きに命名できますので分かり易い名前をつけるようにしましょう。
今回は例として引き渡された値を少し加工して喋るブロックを作ってみますので、名前は下記のようにしました。
![](https://assets.st-note.com/img/1644241391497-ESadLjXR1L.png)
作ったブロックは以下のように表示されます。
![](https://assets.st-note.com/img/1644241430153-W2uaK39htV.png)
それでは実際に作ってみます。
ブロック定義は同じ処理を使いまわせることがメリットですので、右手を触られた場合と左手を触られた場合で同じ処理を使って処理してみると以下のようになりました。
![](https://assets.st-note.com/img/1644241504249-hpo72xE0J0.png?width=1200)
ポイントは定義"引数を喋る"の下で、引数"喋る内容"を変数のように使っているところです。
![](https://assets.st-note.com/img/1644241861896-BNJDkVGSqH.png?width=1200)
設定した引数はそのブロック定義の中であれば、変数と同じように使用することができます。使い方はドラッグアンドロロップで引っ張って出すだけです。
![](https://assets.st-note.com/img/1644241670709-AjBz6hmmoB.png)
この中には動作するブロックの方で渡された値が入っていますので、右手・左手どちらかが入り、それをしゃべるというプログラムになっています。
こうしておくとブロック定義に値を渡したい時に、受け渡し専用の変数を作らなくても良くなります。
まとめ
今回はブロック定義で便利な引数を紹介しました。
ブロック定義を作る目的の1つが「同じ処理を何度も使いまわしたい!」ですので、引数を使って様々な場面に対応できるようにしておくとプログラム全体のブロック数を大幅に減らすことができます。
ブロック定義と引数を使いこなせるとプログラミングが上手くなったことが実感できて達成感があると思いますので、少し慣れてきたお子さんには使わせてみるとプログラミングが好きになるきっかけになるかもしれません!
残り2つの設定方法と引数を複数使う場合については、次回ご紹介させていただこうと思います!