Rubyとmruby/cの機能・項目対応表
定番Ruby入門書「たのしいRuby」(著者:高橋征義、後藤裕蔵、監修:まつもと ゆきひろ)に掲載されているRubyの機能・プログラムリストから、mruby/cが対応している機能・項目を一覧にしております。
章 | 区分 | 番号 | Rubyの機能 | 開発状況 | 備考 |
1 | はじめに | list 1.1 | printメソッド | サブセット | |
list 1.2 | putsメソッド | サブセット | |||
list 1.2 | pメソッド | サブセット | 改行等を、¥nではなく0x0Aと表示します。 | ||
list 1.3 | 日本語文字列 | 非対応 | 使用できないわけではなく、バイト列として扱います。 UTF-8にしておけば表示等は可能となります。 |
||
list 1.4 | 数値の加算と乗算 | 〇 | 整数値オーバーフローは考慮しておりません。 | ||
list 1.6 | コメントアウト | 〇 | |||
list 1.7 | if文 | 〇 | |||
2 | 便利なオブジェクト | 2.1.1 | 配列を作る | 〇 | |
2.1.2 | 配列オブジェクト | 〇 | |||
2.1.3 | 配列からオブジェクトを取り出す | 〇 | |||
2.1.4 | 配列にオブジェクトを格納する | 〇 | |||
2.1.5 | 配列の中身 | 〇 | |||
2.1.6 | 配列と大きさ | 〇 | |||
2.1.7 | 配列と繰り返し | 〇 | |||
2.2.2 | ハッシュを作る | 〇 | |||
2.2.3 | ハッシュの操作 | 〇 | |||
2.2.4 | ハッシュの繰り返し | 〇 | |||
2.3 | 正規表現 | 非対応 | |||
4 | オブジェクトと変数・定数 | 4.3 | 変数 | サブセット | クラス変数のみ対応しておりません。 |
4.4 | 定数 | サブセット | クラス定数とグローバル定数を同じ扱いとしています。 | ||
4.6 | 多重代入 | サブセット | |||
5 | 条件判定 | list 5.2 | if-elsif文 | 〇 | |
list 5.3 | unless文 | 〇 | |||
list 5.4 | case文 | 〇 | |||
list 5.5 | case文でクラスを判定 | 〇 | |||
6 | 繰り返し | list 6.1 | timesメソッド | 〇 | |
list 6.2 | timesメソッド、変数の利用 | 〇 | |||
list 6.3 | timesメソッド、変数を繰り返し加算 | 〇 | |||
list 6.4 | for文 | 〇 | |||
list 6.5 | for文、配列で利用 | 〇 | |||
list 6.6 | while文 | 〇 | |||
list 6.7 | while文、繰り返し後にputs | 〇 | |||
list 6.8 | while文、条件変更 | 〇 | |||
list 6.9 | until文 | 〇 | |||
list 6.10 | while not | 〇 | |||
list 6.11 | eachメソッド、配列で利用 | 〇 | |||
list 6.12 | eachメソッド、範囲オブジェクトで利用 | 〇 | |||
list 6.13 | break, next, redo | 〇 | |||
7 | メソッド | 7.3 | メソッドの定義 | 〇 | |
7.3.1 | メソッドの戻り値 | 〇 | |||
7.3.2 | ブロック付きメソッドの定義 | 〇 | |||
7.3.3 | 引数の数が不定なメソッド | 一部対応 | 第2必須引数はサポートしておりません。 | ||
7.3.4 | キーワード引数 | 非対応 | |||
7.3.5 | 配列を引数に展開する | 未対応 | |||
8 | クラスとモジュール | 8.2 | class文、initializeメソッド、インスタンスメソッド、インスタンス変数 | 〇 | |
8.2.4 | アクセスメソッド | 〇 | |||
8.2.6 | クラスメソッド | サブセット | クラスメソッドとインスタンスメソッドを区別しません。 | ||
8.2.7 | クラス定数 | サブセット | |||
8.2.8 | クラス変数 | 非対応 | |||
8.2.9 | メソッドの呼び出しを制限する | 非対応 | |||
8.3.1 | 既存のクラスにメソッドを追加する | 〇 | |||
8.3.2 | 継承する | 未対応 | |||
8.4.1 | alias | 〇 | |||
8.4.2 | undef | 非対応 | |||
8.5 | 特異クラス | 非対応 | |||
8.6 | モジュール | 非対応 | |||
9 | 演算子 | 9.1 | 代入演算子 | 〇 | |
9.2 | 論理演算子の応用 | 〇 | |||
9.3 | 条件演算子 | 〇 | |||
9.4 | 範囲演算子 | サブセット | |||
9.6.1 | 二項演算子の再定義 | 〇 | |||
9.6.2 | 単項演算子の再定義 | 〇 | |||
9.6.3 | 添字メソッド | 〇 | |||
10 | エラー処理と例外 | 10.2 | 例外処理 | サブセット | 例外処理(begin~end)のうち、rescue、ensure、raiseをサポートします。 |
11 | ブロック | 11.2.2 | ensure | 〇 | |
11.3.1 | break | 〇 | |||
11.3.2 | block_given? | 〇 | |||
11.3.2 | 複数のyield | 〇 | |||
11.3.2 | ブロック変数を|*a|で受け取る | 〇 | |||
11.3.4 | Procオブジェクトの生成 | 〇 | |||
11.3.4 | ブロックをProcオブジェクトに | 〇 | |||
11.4 | ローカル変数とブロック変数 | 〇 |
未対応:今後、対応予定
非対応:対応の予定はありません。