Hello, World!

新しい言語を始める伝統的な方法は、コンピュータに 「Hello, World!」 と言わせることです。

../_images/scroll-hello1.gif

これを MicroPython でするのは簡単です:

from microbit import *
display.scroll("Hello, World!")

各行は何か特別なことを行っています。最初の行:

from microbit import *

… は、BBC micro:bit で実行するのに必要となるすべてものものを入手するよう MicroPython に指示します。すべてのものは microbit と呼ばれるモジュールの中にあります(モジュールは既存のコードのライブラリです)。なにかを import するということは、MicroPython にそれを使いたいと伝えることで、*すべてのもの を示す Python の方法です。すなわち、 from microbit import * を日本語にすると「microbit コードライブラリからすべてのものを使用できるようにしてほしい」となります。

2行目:

display.scroll("Hello, World!")

… は、文字列 「Hello, World!」 をディスプレイにスクロール表示するよう MicroPython に伝えます。行中の display 部分は microbit モジュールにある オブジェクト で、デバイスの物理ディスプレイを表します(「オブジェクト」という言葉は「例のあれ」、「あの何か」、「その何か」の代わりに使っています)。ディスプレイに何を行うかを伝えるには句点 . の後にコマンドのようなもの(実際には メソッド というもの)を付けます。この場合では scroll メソッドを使っています。scroll は物理ディスプレイでスクロールする文字列が何であるかを知る必要があるので、括弧内(())に二重引用符で囲んだものにスクロールするものを指定しています。これは 引数 というものです。したがって、 display.scroll("Hello, World!") を日本語にすると「テキスト 『Hello, World!』 をディスプレイにスクロール表示してほしい」となります。メソッドが引数を一つも必要としない場合は、引数の無い括弧 () を使うことでこれを示します。

「Hello, World!」 のコードをエディタにコピーして、デバイスに転送してください。表示するメッセージを変更するにはどうすればよいですか? あなたに挨拶させるにはどうすればよいですか? たとえば私の場合だったら 「Hello, Nicholas!」 と表示させます。これがヒントです。scroll メソッドの引数を変更してみましょう。

警告

変更したらうまく動かなくなるかもしれません。 :-)

この原因を突き止めるのは楽しいことで、MicroPython はこれに役立とうとします。エラーが発生すると、micro:bit のディスプレイにヘルプメッセージがスクロールします。可能であれば、エラーが発生したところの行番号が表示されます。

Python は 正確に コード入力されることを前提にしています。たとえば Python にとって Microbit, microbit, microBit はすべて異なるものです。MicroPython が NameError という場合は、おそらく何かを不正確に入力しています。これは 「Nicholas」 と 「Nicolas」 の違いに似ています。彼らは2人の違う人物ですが、名前は非常に似ています。

MicroPython が SyntaxError という場合は、単に MicroPython が解釈できないコードを入力しています。 ": といった特殊文字の間違いがないかチェックしてみてください。これはゴルフのパットのようなものです。文中のどこかに止めているものがあります。本来の意図を解釈するのはなかなかに困難です。

microbit の反応が無くなることもあります: こうなると新しいコードをフラッシュすることも、REPL でコマンドを入力することもできません。これが起きてしまったら、電源を入れ直してみてください。つまり、USB ケーブルを抜いて(バッテリーケーブルを繋げているなら、それも抜く)、ケーブルをまた差し込みます。また、コードエディタも一度終わらせて再起動する必要があるかもしれません。