REPL

AdafruitのLearning Guideの非公式日本語訳です。
英語独特の言い回しを可能な限り日本語的な表現に直していますが、不自然に感じる部分も残っていますことを何卒ご容赦ください。

シリアル接続のもう一つの機能は、Read-Evaluate-Print-Loop(REPL)です。REPLを使用すると、個々のコード行を入力してすぐに実行することができます。特定のプログラムで問題が発生していて、その原因がわからない場合にとても便利です。インタラクティブなので、新しいアイデアを試すのにも最適です。

REPLを使用するには、まずシリアルコンソールに接続する必要があります。USB接続が確立されたら、Ctrl + C キーを押します。

この時、コードが実行されている場合は、コードが停止し、「Press any key to enter the REPL. Use CTRL-D to reload.」と表示されます。その指示に従って、キーボードの任意のキーを押します。

Traceback (most recent call last):は、Ctrl + Cを押して中断する前のボードの最後の動作を表示しています。KeyboardInterruptは、あなたがCtrl + Cを押したことを示しています。この情報はトラブルシューティングの際に便利ですが、今のところは気にしないでください。Ctrl + Cを押したので、KeyboardInterruptは予想された動作です。

コードが実行されていない場合は、Ctrl + Cを押した直後にREPLに入りますが、コードが実行されていないため、中断する前にボードが何をしていたかという情報はありません。

どちらにしても、一度キーを押すとREPLのプロンプト「>>>」が表示されます!

プロンプトが表示されない場合は、Ctrl + C をさらに数回押してみてください。

REPLから最初に表示されるのは、あなたのボードに関する情報です。

この行は、使用しているCircuitPythonのバージョンとリリース時期を示しています。次に、使用しているボードの種類と、ボードが使用しているマイクロコントローラの種類を示します。この各部分は、使用しているボードのバージョンによって異なる場合があります。

これに続いて、CircuitPythonのREPLのプロンプトが表示されます。

このプロンプトから、あらゆる種類のコマンドやコードを実行することができます。最初に実行するのは help() です。これは、REPLの探索をどこから始めればよいかを教えてくれます。REPLでコードを実行するには、REPLプロンプトの右に入力します。

REPLのプロンプトの右にhelp()と入力してください。

次にEnterを押します。すると、メッセージが表示されるはずです。

メッセージの最初の部分は、使用しているCircuitPythonのバージョンについての別の参照です。2つ目は、CircuitPython関連のプロジェクトガイドのURLです。
それから…「To list built-in modules, please do ‘help(“modules”)’」と表示されます。
CircuitPythonコードの作成と編集で学んだライブラリを覚えていますか?これはまさにそのことを言っているのです!
さっそく見てみましょう。

REPLのプロンプトの右にhelp(“modules”)と入力してエンターキーを押します。

これはCircuitPythonに組み込まれているすべてのコアライブラリのリストが表示されます。
Boardには、コードで使用できるすべてのピンが含まれていることを説明しました。REPLからこのリストを見ることができます。

REPLにimport boardと入力してEnterキーを押してください。新しいプロンプトが表示されます。何も起こっていないように見えるかもしれませんが、そうではありません。
import文は単にそのモジュールをコードの中で使うことを示しているだけです。

次にREPLにdir(board)と入力してエンターキーを押します。

これは、あなたのコードで使用可能なボード上のすべてのピンのリストです。各ボードのリストは、使用可能なピンの数によって若干異なります。D13(CLUEの場合D17)が見えますか?これは赤色LEDを点滅させるのに使用したピンです。

REPLはコードの実行にも使用できます。REPL に入力したコードはどこにも保存されないことに注意してください。新しいものをテストしていて保存しておきたい場合は、コンピュータのどこかに保存しておくようにしてください。

すべてのプログラミング言語のプログラマは、”Hello, World “というコードから始まります。
ここでは、他のものにも挨拶をしましょう。以下をREPLにタイプします。


print("Hello, CircuitPython!)

そしてエンターキーを押します。

REPLでコードを実行するのはこれだけです!ナイスジョブ!

スタンドアロンで実行するコードの単一行を書くことができます。また、プログラム全体を REPL に書き込んでテストすることもできます。しかし、前述したように、REPLに入力されたものは何も保存されないことを覚えておいてください。

REPLでできることはたくさんあります。いくつかの新しいコード行が動作するかどうかを確認したい場合には、新しいアイデアをテストするのに最適です。コードを一度に一行ずつ入力して、どこで失敗したかを見つけることで、コードのトラブルシューティングに最適です。どのようなライブラリが利用可能かを確認し、それらのライブラリを探索することができます。

REPL にさらに多くのコードを入力して、何が起こるかを確認してみてください。

シリアルコンソールに戻る

REPL を終了してシリアル・コンソールに戻りたい時は、Ctrl + D を押すだけです。
REPLに入る前に実行していたプログラムが再起動されます。コンソールウィンドウには、実行していたプログラムの出力が表示されます。また、プログラムがボード上のビジュアルに影響を与えていた場合は、そのプログラムが再び起動しているのがわかります。

いつでも REPL に戻ることができます。

原文: https://learn.adafruit.com/adafruit-clue/the-repl

Follow me on Twitter