More on Rust
Jacob Carlborg
doob at me.com
Fri Feb 11 00:48:11 PST 2011
On 2011-02-11 08:39, Jim wrote:
> Jacob Carlborg Wrote:
>
>> On 2011-02-10 20:15, Walter Bright wrote:
>>> Nick Sabalausky wrote:
>>>> "bearophile"<bearophileHUGS at lycos.com> wrote in message
>>>> news:iivb5n$na3$1 at digitalmars.com...
>>>>> auto x;
>>>>> if (localtime().hours>= 8) {
>>>>> x = "awake!"
>>>>> } else {
>>>>> x = "asleep, go away."
>>>>> }
>>>>> log "I'm " + x;
>>>>>
>>>>
>>>> That would be really nice to have in D.
>>>
>>>
>>> auto x = (localtime().hours>= 8) ? "awake!" : "asleep, go away.";
>>
>> For this simple if statement it works but as soon you have a few lines
>> in the if statement it will become really ugly. But one could wrap the
>> if statement in a function instead. In other languages where statements
>> really are expressions this works:
>>
>> auto x = if (localtime().hours>= 8)
>> "awake!";
>> else
>> "asleep, go away.";
>>
>> log "I'm " + x;
>
>
>
> Other languages may have bloated syntaxes, with no particular benefit.
>
>
> auto x = localtime().hours>= 8 ?
> "awake!"
> :
> "asleep, go away.";
>
> log( "I'm " ~ x );
>
>
> If the expressions are complex I put them in functions.
> 1) It hides and isolates details, which allows you to focus on the more abstract aspects.
> 2) It gives the expression a name and facilitates reuse.
And that was the first thing I said one could do.
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list