Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:39189 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 41725 invoked from network); 22 Jul 2008 14:35:19 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 22 Jul 2008 14:35:19 -0000 Authentication-Results: pb1.pair.com header.from=rquadling@googlemail.com; sender-id=pass; domainkeys=bad Authentication-Results: pb1.pair.com smtp.mail=rquadling@googlemail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain googlemail.com designates 72.14.220.152 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: rquadling@googlemail.com X-Host-Fingerprint: 72.14.220.152 fg-out-1718.google.com Received: from [72.14.220.152] ([72.14.220.152:43637] helo=fg-out-1718.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 8E/72-46193-2BFE5884 for ; Tue, 22 Jul 2008 10:33:26 -0400 Received: by fg-out-1718.google.com with SMTP id 16so1181445fgg.23 for ; Tue, 22 Jul 2008 07:33:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:reply-to :to:subject:cc:in-reply-to:mime-version:content-type:references; bh=dVZXYJaAmc2Cd+oaxB4lUGIMpRwP644K/pgqN1rmuQ4=; b=YLSNqfaQMHYJdGaEOtX65tUsiCtc9nuGTq02VeJnRdRqn/dJgoHJ628Ej1ZipNHdiV YCZW43/Hizh3HHNdGudmzPr6+vf5m7gym36VGR3mgwMylJT9ay5tlYQKXHLsmYlu/n/9 wCvC6uB5k0FHT45JmzisJNQVu2ULiOhnL37Zc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=message-id:date:from:reply-to:to:subject:cc:in-reply-to :mime-version:content-type:references; b=Vq/5HYnDgbNmjCTju06O3oKONP9wFxFOWwcUxz1KPSWPFsCslBp3AyvH0Sy9VmGzJw W2lXrUHdqcphzGKCOI/iaSWJ09ldNCvoGx7kJikzn8EFLrWg99qBqdyDNlpIV7ERHlDQ bbD0VjfSvrCOxKnJj++FfrhgLyGhC9QiErjys= Received: by 10.86.27.9 with SMTP id a9mr6349432fga.57.1216737198066; Tue, 22 Jul 2008 07:33:18 -0700 (PDT) Received: by 10.86.97.3 with HTTP; Tue, 22 Jul 2008 07:33:18 -0700 (PDT) Message-ID: <10845a340807220733y11e0396bwb8396cfeb222b005@mail.gmail.com> Date: Tue, 22 Jul 2008 15:33:18 +0100 Reply-To: RQuadling@GoogleMail.com To: "Rodrigo Saboya" Cc: internals@lists.php.net In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_8467_2128409.1216737198093" References: <894DE025-CBC7-4BFA-8FAA-D0215B194F94@facebook.com> Subject: Re: [PHP-DEV] Re: Modify language grammar to allow trailing commas in function/method calls From: rquadling@googlemail.com ("Richard Quadling") ------=_Part_8467_2128409.1216737198093 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline 2008/7/22 Rodrigo Saboya > Evan Priestley escreveu: > >> This was floated in 2003 but had weak advocation and didn't seem to come >> to a decisive resolution: >> >> http://marc.info/?l=php-internals&m=106685833011253&w=2 >> >> Basically, the proposal is to modify the grammar to allow trailing commas >> in function and method calls, so this becomes a parseable PHP construct: >> >> f(1, 2, 3,); >> >> This patch applies only to function and method calls; it does not apply to >> function or method definitions. It also does not allow the degenerative case >> of "f(,)". >> >> The real value of relaxing this rule is in nontrivial cases that span >> across multiple lines: >> sprintf( >> 'long example pattern with %d conversions: %s', >> $several, >> $conversions >> ); >> >> > You could just do this: > > sprintf( > 'long example pattern with %d conversions: %s' > ,$several > ,$conversions > ); > > I really don't see a great benefit here, and as you pointed out it would > make code written with trailing commas incompatible with previous versions > of PHP. > > -- > Rodrigo Saboya > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > Just thinking of other languages that allow you to skip params simply by using commas. Whilst this isn't supported in PHP, allowing a trailing comma and skipped parameters could look quite interesting! foo(,,,,,,,); I must admit, I get stung with this in JS when I'm building AJAX option sets through Prototype for IE (I think like arrays in PHP which allow trailing ,), but I soon learned to do it properly. I don't see this as a huge advantage. Regards, Richard Quadling. -- ----- Richard Quadling Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731 "Standing on the shoulders of some very clever giants!" ------=_Part_8467_2128409.1216737198093--