nach dem neuesten Artikel von Dave Thomas in dem pragpub Magazin http://pragprog.com/magazines Ruby 1.9 sollte mehrere Splat Argumente in Array-Literale akzeptieren, zB:splats in Array-Literale
[ *'2'..'10', *%w{ J Q K A } ]
Aber auf meinem Rechner Ich bin ein immer Parsing-Fehler. Unter 1.9.1p378 bekomme ich nur das letzte zurückgegebene Array-Literal und unter 1.9.2p0 erhalte ich einen Parse-Fehler beim Lesen des Kommas zwischen den Literalen.
ruby-1.9.1-p378 :001 > [ *'2'..'10', *%w{ J Q K A } ]
=> ["J", "Q", "K", "A"]
ruby-1.9.2-p0 > [ *'2'..'10', *%w{ J Q K A } ]
SyntaxError: compile error
(irb):13: syntax error, unexpected ',', expecting ']'
Update: meine rubin Einstellungen:
ruby:
interpreter: "ruby"
version: "1.9.2p0"
date: "2010-08-18"
platform: "x86_64-darwin10.4.0"
patchlevel: "2010-08-18 revision 29036"
full_version: "ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0]"
Ich bin gespannt, ob jemand anderes bekommt diese Syntax zu arbeiten?
Kannst du eine 'Range' splittern, ohne sie in' Array' umzuwandeln? edit: entpuppt sich selbst in 1.8. Verdammt cool! –
WorksForMePerfectly mit 1.9.2p0 (Win 7 x64) – Ernest
Auch funktionierte in 1.9.1p243 – Phrogz