プログラミングリファレンス
Harucom で使える Ruby API のリファレンスです。
Harucom API
Harucom は画面描画やキーボード入力のためのライブラリを備えています。
DVI モジュール
DVI 出力の制御と画面描画のための低レベル API です。 テキストモード(106桁 x 37行)とグラフィックスモード(640x480 / 320x240)の 2つの表示モードがあります。
DVI.set_mode(DVI::GRAPHICS_MODE)
DVI::Graphics.fill_circle(160, 120, 50, 0xE0)
DVI::Graphics.commit
複雑な画面描画を行うにはP5 描画ライブラリ を使うと便利です。
P5 描画ライブラリ
Processingライクなインターフェースを提供する描画ライブラリです。 DVI::Graphics をラップして、塗りつぶし・線の色、座標変換、ブレンドモードなどを 扱いやすくまとめた API を提供します。
require "p5"
p5 = P5.new
p5.fill(p5.color(255, 0, 0))
p5.circle(160, 120, 50)
p5.commit
Keyboard
USB キーボードからの入力を扱う API です。
グローバル変数 $keyboard を通じてキー入力を取得できます。
key = $keyboard.read_char
case key
when Keyboard::CTRL_Q then break
when Keyboard::ENTER then puts "Enter"
end
PicoRuby ライブラリ
Harucom は PicoRuby で動いています。
以下の PicoRuby ライブラリが使えます。 詳しい使い方は各リンク先の PicoRuby リファレンスを参照してください。
ファイルシステム
| クラス | 説明 |
|---|---|
| File | ファイルの読み書き |
| Dir | ディレクトリの操作 |
File.open("/data.txt", "r") { |f| f.read(256) }
File.open("/data.txt", "w") { |f| f.write("hello") }
Dir.mkdir("/mydir")
データ形式
| クラス | 説明 |
|---|---|
| JSON | JSON の読み書き |
| YAML | YAML の読み書き |
| Marshal | Ruby オブジェクトのシリアライズ |
| Base64 | Base64 エンコード・デコード |
| Base16 | 16進文字列の変換 |
ハードウェア・システム
| クラス | 説明 |
|---|---|
| GPIO | GPIO ピンの制御 |
| Time | 時刻の取得・操作 |
| Watchdog | ウォッチドッグタイマー |
| Math | 数学関数 |
組み込みクラス
| クラス | 説明 |
|---|---|
| String | 文字列 |
| Array | 配列 |
| Hash | ハッシュ |
| Integer | 整数 |
| Float | 浮動小数点数 |
| Kernel | puts、sleep などの基本メソッド |
require
require "p5" # $LOAD_PATH(デフォルト: ["/lib"])から検索