よくある質問

(1)仕様などに関すること

一般的な Rubyの仕様との違いはありますか?
はい。
rbCanvasでは、Rubyのコードは Opalによって JavaScriptに変換して実行されるため、
おもな違いとして下記のような点が挙げられます。
  • 数値はすべて倍精度の浮動小数点となるため、Integer型として扱うことはできません
  • 文字列に対して gsub!upcase! などの破壊的なメソッドを使うことはできません。
  • シンボルは String型として扱われます。
  • ブラウザ上では非同期での処理がおこなわれるため、
    ひとつの処理が終わるのを待たずに次の処理に進むケースが発生します。
  • 正規表現に関する処理で違いが生じるケースがあります。
  • 外部ファイルの入出力に関する処理はできません。

基本的な文法(構文)は Rubyのどのバージョンに相当しますか?
Ruby 2.3に相当します。
rbCanvasの内部では Opal 0.11.4 (Ruby 2.3に準拠)を使用していますが、
今後のバージョンアップは現在検討中です。

putsや pなどのメソッドの挙動はどうなりますか?
すべてブラウザのデバッグ用コンソール上に結果が出力されます。
rbCanvas/p5では、Rubyのコンソール系のメソッドについては
とくべつな対応をしていませんので、Opalの仕様に即した挙動になります。

グラフィック関連の処理など、rbCanvas/p5ではどのようなメソッドが使えますか?
「APIリファレンス」に詳細が記載されていますので、下記のリンクからご覧ください。
→「APIリファレンス」


Link to GitHub