REPL(エラーメッセージ表示、変数の値の監視)
概要
micro:bitが実行中に内部データを読み込むときは、MuエディタのREPL機能がとても便利です。
REPLとは
REPLとは、「Read-Eval-Print loop(読んで評価して表示して繰り返す)」の略語です。pythonの命令を実行したり、Micro:bitからのprint命令の内容を出力したりしてできる対話型評価環境です。
できることは
REPLでできることを以下に示します。なお、ここではMicro:bitからのデータを表示する使用例だけにします。
基本的な使い方
Micro:bitからのデータを表示する基本的な方法を以下に示します。Micro:bitはあらかじめプログラムをロードします。
◆注意
REPL表示中は<転送>ボタンと<ファイル>ボタンは使用できません。
再度
エラーメッセージを表示
LEDディスプレイにエラーメッセージが流れたとき、読みにくいことがあります。 「REPL」ウィンドウを表示して、Micro:bitのリセットボタンを押すと、「REPL」ウィンドウにエラーメッセージが表示されます。エラーメッセージを表示するコードの例を以下に示します。
from microbit import *上記のコードのエラーメッセージを以下に示します。 エラーメッセージに"line 3"と"SyntaxError"があるので、3行に文法の間違いがあると確認できます。i = 1 + 3: display.show(str(i))
デバッグで変数などの内容を表示
想定していない動作があったとき、プログラムの変数の内容を確認したいときがあります。確認したい変数に格納されたデータは、print文で「REPL」ウィンドウに出力することができます。 以下のプログラムを実行した結果、LEDディスプレイに想定外の表示があったときのデバッグを例にします。想定では「11」が表示されるはずですが、LEDディスプレイは「1」が表示されます。from microbit import *j = 5 * 2 i = 1 + j display.show(str(i)) print('i=', i, 'j=', j)
「REPL」ウィンドウを表示して、Micro:bitのリセットボタンを押すと、「REPL」ウィンドウで正常に計算していることが確認できます。そこでLEDディスプレイの表示方法を見直すという修正方針ができました。
ログデータを表示
Micro:bit搭載のLEDディスプレイは、1文字しか表示できません。デバイスの動作を細かく確認したいときは、「REPL」ウィンドウに確認したいデータをprint文で表示フォーマットを整えて出力できます。 温度センサの測定値を「REPL」ウィンドウに表示するプログラムを以下に示します。from microbit import *「REPL」ウィンドウを表示して、Micro:bitのリセットボタンを押すと、「REPL」ウィンドウに温度センサーの値が表示されます。while True: temp = temperature() display.show(Image.HAPPY) print(str(temp) + 'C') sleep(500)
結果
Micro:bitの開発環境のひとつであるMuは、デバックに有効な機能が最低はそろっています。 例えば、センサからの出力データ(生データ)を確認することができます。