digitalmars.D - UFCS-style invocation of lambdas
- Peter Alexander (8/8) Jan 25 2013 Would this be possible without breaking the grammar?
- Timon Gehr (5/13) Jan 25 2013 bool isPalindrome = getRange().ap!(r => equal(r, retro(r)));
Would this be possible without breaking the grammar? bool isPalindrome = getRange().(r => equal(r, retro(r))); I find this way of writing that expression more natural and efficient than the alternatives: auto r = getRange(); bool isPalindrome = equal(r, retro(r)); or bool isPalindrome = (r => equal(r, retro(r)))(getRange());
Jan 25 2013
On 01/25/2013 10:37 PM, Peter Alexander wrote:Would this be possible without breaking the grammar? bool isPalindrome = getRange().(r => equal(r, retro(r)));Yes.I find this way of writing that expression more natural and efficient than the alternatives: auto r = getRange(); bool isPalindrome = equal(r, retro(r)); or bool isPalindrome = (r => equal(r, retro(r)))(getRange());bool isPalindrome = getRange().ap!(r => equal(r, retro(r))); where auto ap(alias a,T...)(T b)=>a(b);
Jan 25 2013