Project

General

Profile

Feature #1968

Looser splat for 1.8

Added by shyouhei (Shyouhei Urabe) about 10 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Target version:
[ruby-dev:39147]

Description

=begin
1.8でも *a, b = c とか書けるようにするのはどうでしょうか。実装を(redmineに)貼っておきます。

ただsplatの文法をNODEの種類を増やさずに(i.e.バイナリ互換性を保ちつつ)、かつ、1.8の多値のセマンティクスを守ったままで(i.e.後方互換性を保ちつつ)、実装するのは不可能に思われるため、とりあえずparseはできるけど実行しようとするとエラーになる実装にしてみました(つまり、SyntaxErrorがparse時じゃなくて評価時に出る)。どんなもんでしょう。

あ、test-allはおおむね通ってそうです。
=end


Files

looser_args.patch (17.5 KB) looser_args.patch shyouhei (Shyouhei Urabe), 08/21/2009 01:54 AM

History

#1

Updated by knu (Akinori MUSHA) almost 10 years ago

=begin
おー、私の手元にもやりかけのがありました。方針はこれでいいと思います。

例外は専用のもの(SyntaxErrorのサブクラス)を作るかどうか迷うところですが、ひとまずテストが問題なければ入れてください。
=end

#2

Updated by shyouhei (Shyouhei Urabe) almost 10 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

=begin
Applied in changeset r24695.
=end

Also available in: Atom PDF