| 構文 | 概要 | 参考情報 (Rubyリファレンス) |
|---|---|---|
| if ... end | 条件が真の場合に処理を実行 | ![]() |
| unless ... end | 条件が偽の場合に処理を実行 | ![]() |
| case ... end | 1つの変数や式に対する一致判定によって処理を分岐 | ![]() |
| 構文 | 概要 | 参考情報 (Rubyリファレンス) |
|---|---|---|
| while ... end | 条件が真の間、処理を繰り返して実行 | ![]() |
| until ... end | 条件が真になるまで、処理を繰り返して実行 | ![]() |
| for ... end | 列挙された要素に対して、処理を繰り返して実行 | ![]() |
| times do ... end | 与えられた回数分だけ、処理を繰り返して実行 | ![]() |
| each do ... end | 与えられた範囲に対して、処理を繰り返して実行 | ![]() |
| step do ... end | 与えられた範囲と刻み幅に対して、処理を繰り返して実行 |
|
| loop do ... end | 中断されるまで、処理を繰り返して実行 | ![]() |
| 構文 | 概要 | 備考 | 参考情報 (Rubyリファレンス) |
|---|---|---|---|
| メソッドを定義 | ![]() |
||
| クラスを定義 | クラス名の先頭は大文字アルファベット | ||
| モジュールを定義 | モジュール名の先頭は大文字アルファベット |
| クラス / モジュール | 概要 | 備考 | 参考情報 (Rubyリファレンス) |
|---|---|---|---|
| 文字列クラス |
rbCanvas/p5では、Rubyの Stringクラスの各メソッドが使用できます。
ただし、Opal(JavaScript)の制約により、「downcase!」や「gsub!」などの
なお、p5.jsにも文字列の操作に関するメソッド(関数)が用意されていますが、オブジェクト自身を破壊的に書き換えるメソッドは実行時にエラーとなります。 それらのメソッド(関数)は rbCanvas/p5では使用できません。 String Functions(p5.js) join match matchAll nf nfc nfp nfs split splitTokens trim |
![]() |
|
| 配列クラス |
rbCanvas/p5では、Rubyの Arrayクラスの各メソッドが使用できます。
なお、p5.jsにも配列の操作に関するメソッド(関数)が用意されていますが、それらのメソッド(関数)は rbCanvas/p5では使用できません。 Array Functions(p5.js) append arrayCopy concat reverse shorten shuffle sort splice subset |
![]() |
|
| ハッシュクラス |
rbCanvas/p5では、Rubyの Hashクラスの各メソッドが使用できます。
キーを指定してデータにアクセスする場合、JavaScript(p5.js)でのハッシュのように 「object.key」という記法ではエラーになりますので、 「object[:key]」などのように Rubyの仕様に則した記法でアクセスしてください。 |
![]() |
|
| 数学関数モジュール |
rbCanvas/p5では、Rubyの Mathモジュールの各メソッドが使用できます。
ただし、p5.jsで提供されている諸々の数学関数が優先されますのでRubyで提供されている数学関数を使う際には 「Math.cos」や「Math.log」のように 明示的に「Math」モジュール名での修飾が必要です。 |
![]() |
|
| 日付クラス | rbCanvas/p5では、Rubyの Dateクラスの各メソッドが使用できます。
なお、p5.jsにも日付の操作に関するメソッド(関数)が用意されていますが、それらのメソッド(関数)は rbCanvas/p5では使用できません。 Date Functions(p5.js) day month year |
![]() |
|
| 時刻クラス |
rbCanvas/p5では、Rubyの Timeクラスの各メソッドが使用できます。
なお、p5.jsにも時刻の操作に関するメソッド(関数)が用意されていますが、それらのメソッド(関数)は rbCanvas/p5では使用できません。 Time Functions(p5.js) second minute hour |
![]() |
|
| 正規表現クラス | rbCanvas/p5では、Rubyの Regexpクラスの各メソッドが使用できます。
JavaScript(p5.js)での正規表現とは仕様が異なる点がありますのでご留意ください。
|
![]() |
|
| 手続きクラス | rbCanvas/p5では、Rubyの Procクラスの各メソッドが使用できます。
JavaScriptのように関数(メソッド)自体を引数として指定することができないため、コールバック処理などで一連の手続き(処理)を渡す必要がある場合などには Procオブジェクトを生成して利用してください。 (利用例: isLooping など) |
|
| 内容 | 備考 | 参考情報 (Rubyリファレンス) | ||
|---|---|---|---|---|
| "#{式}" の形式で文字列中に式の値を埋め込み | JavaScriptの `${変数}`に相当 | ![]() |
||
sprintf | 所定の書式指定子によって変数などの値の出力書式を制御 | C言語での printの書式指定子と同じ |
|
|
| 同上 | 同上 | ![]() |
||
| 擬似変数 | 内容 | 備考 | |
|---|---|---|---|
| 「真」をあらわす | |||
| 「偽」をあらわす | |||
| 「存在しない状態」をあらわす | 真偽値の判定では「偽」として扱われます | ||
| 「オブジェクト自身」をあらわす | 現在のメソッドの実行主体 | ||
| 算術演算子 | |||
| 演算子 | 内容 | 例 | |
|---|---|---|---|
| 加算 | 10 + 5 | #=> 15 | |
| 減算 | 10 - 5 | #=> 5 | |
| 乗算 | 10 * 5 | #=> 50 | |
| 除算 | 10 / 5 | #=> 2 | |
| 剰余(余り)演算 | 10 % 5 | #=> 0 | |
| べき乗 | 10 ** 5 | #=> 100000 | |
| 代入演算子 | |||
| 演算子 | 内容 | 例 | |
| aに bを代入 | a = 5 | #=> aに 5を代入 | |
| a = a + b と同じ | a += 5 | #=> aに 5を足した値を再代入 | |
| 減算 | a -= 5 | #=> a から 5を引いた値を再代入 | |
| 乗算 | a *= 5 | #=> a に 5を掛けた値を再代入 | |
| 除算 | a /= 5 | #=> aを 5で割った値を再代入 | |
| 剰余(余り)演算 | a %= 5 | #=> aを 5で割った余りを再代入 | |
| べき乗 | a **= 5 | #=> aを 5乗した値を再代入 | |
| 比較演算子 | |||
| 演算子 | 内容 | 例 | |
| a とb が等しい | 0 == 1 | #=> false | |
| a とb が等しくない | 0 != 1 | #=> true | |
| a がb より小さい | 0 < 1 | #=> true | |
| a とb より大きい | 0 > 1 | #=> false | |
| a とb以下である | 0 <= 1 | #=> true | |
| a とb以上である | 0 >= 1 | #=> false | |
| 論理演算子 | |||
| 演算子 | 内容 | 備考 | |
| 条件c が満たされていない | |||
| 条件c1, c2 がどちらも満たされている | |||
| 条件c1, c2 のいずれかが満たされている | |||
| 条件c が満たされていない | ! よりも結合の優先順位が低い | ||
| 条件c1, c2 がどちらも満たされている | && よりも結合の優先順位が低い | ||
| 条件c1, c2 のいずれかが満たされている | || よりも結合の優先順位が低い | ||