Goal
TryRuby は Ruby 公式サイト(ruby-lang.org)のトップからリンクされている Ruby 入門チュートリアルサイト。全56レッスンのサンプルコードを、スモウルビーの Ruby タブで入力してブロックに変換できるようにする。
背景
TryRuby のコードをスモウルビーの Ruby タブに入力してコードタブに切り替えたとき、正しくブロックに変換されることが目標。say() で puts を代替する等、スモウルビーの言語仕様に合わせた書き換えは許容する。
完了した作業
Phase 1 #1: String#reverse — #525 ✅
Phase 1 #4-#9: opcode リネーム + 配列/ハッシュメソッド — #526 ✅
Phase 1 #2: String * N — #532 ✅
Phase 1 #3: 裸のリテラルの許容 — #533, #535 ✅
配列リテラルのラウンドトリップ — #547 ✅
残りの作業
全て完了。Phase 2-3 は #529 に委譲し、#529 も完了済み。
Goal
TryRuby は Ruby 公式サイト(ruby-lang.org)のトップからリンクされている Ruby 入門チュートリアルサイト。全56レッスンのサンプルコードを、スモウルビーの Ruby タブで入力してブロックに変換できるようにする。
translations/ja/try_ruby_*.md(56ファイル)背景
TryRuby のコードをスモウルビーの Ruby タブに入力してコードタブに切り替えたとき、正しくブロックに変換されることが目標。
say()でputsを代替する等、スモウルビーの言語仕様に合わせた書き換えは許容する。完了した作業
Phase 1 #1: String#reverse — #525 ✅
Phase 1 #4-#9: opcode リネーム + 配列/ハッシュメソッド — #526 ✅
Phase 1 #2: String
* N— #532 ✅Phase 1 #3: 裸のリテラルの許容 — #533, #535 ✅
配列リテラルのラウンドトリップ — #547 ✅
残りの作業
全て完了。Phase 2-3 は #529 に委譲し、#529 も完了済み。
* N(文字列繰り返し) — feat: add String#* (string repetition) for TryRuby L80 (#524) #532.times do |i|— feat: add generic blockParam REPORTER for block-accepting methods #541 (via refactor: Ruby 拡張機能ブロック再設計 — クラス別メソッド + 戻り値ブロック #529)Hash.new(0)— スキップ(デフォルト値にはハッシュを新データ構造にする必要あり).eachイテレータ — feat: add arrayMethodWithBlock for block-accepting array methods #539, feat: add generic blockParam REPORTER for block-accepting methods #541 (via refactor: Ruby 拡張機能ブロック再設計 — クラス別メソッド + 戻り値ブロック #529)attr_accessor— feat: support attr_accessor/attr_reader/attr_writer in class definitions #546 (via refactor: Ruby 拡張機能ブロック再設計 — クラス別メソッド + 戻り値ブロック #529)。.newは別 Issue feat: Sprite#clone → create_clone_of + Array.new 展開 + Hash.new エラー #548 で対応予定