Feature #1968
Looser splat for 1.8
| Status: | Closed | Start date: | 08/21/2009 | |
|---|---|---|---|---|
| Priority: | Low | Due date: | ||
| Assignee: | % Done: | 100% |
||
| Category: | core | |||
| Target version: | Ruby 1.8.8 |
Description
1.8でも *a, b = c とか書けるようにするのはどうでしょうか。実装を(redmineに)貼っておきます。 ただsplatの文法をNODEの種類を増やさずに(i.e.バイナリ互換性を保ちつつ)、かつ、1.8の多値のセマンティクスを守ったままで(i.e.後方互換性を保ちつつ)、実装するのは不可能に思われるため、とりあえずparseはできるけど実行しようとするとエラーになる実装にしてみました(つまり、SyntaxErrorがparse時じゃなくて評価時に出る)。どんなもんでしょう。 あ、test-allはおおむね通ってそうです。
History
Updated by Akinori MUSHA over 2 years ago
おー、私の手元にもやりかけのがありました。方針はこれでいいと思います。 例外は専用のもの(SyntaxErrorのサブクラス)を作るかどうか迷うところですが、ひとまずテストが問題なければ入れてください。
Updated by Shyouhei Urabe over 2 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
Applied in changeset r24695.