Thread overview | |||||
---|---|---|---|---|---|
|
January 27, 2016 Not getting expected behavior from compile-time conditional | ||||
---|---|---|---|---|
| ||||
Here's a simple programming showing where I'm tripping up - void test(T)(in T value){ import std.traits; static if(is(T == char)){ writeln("char"); }else static if(is(isNumeric!(T))){ writeln("number"); } writeln("hi"); } public void main(){ test('g'); test(2); test(2.0); } Output is this - char hi hi hi I was expecting output to look like this - char hi number hi number hi How can I fix this? |
January 26, 2016 Re: Not getting expected behavior from compile-time conditional | ||||
---|---|---|---|---|
| ||||
Posted in reply to pineapple | On 01/26/2016 04:12 PM, pineapple wrote: > Here's a simple programming showing where I'm tripping up - > > void test(T)(in T value){ > import std.traits; > static if(is(T == char)){ > writeln("char"); > }else static if(is(isNumeric!(T))){ Remove the extra is: :) }else static if(isNumeric!(T)){ Ali |
January 27, 2016 Re: Not getting expected behavior from compile-time conditional | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli | On Wednesday, 27 January 2016 at 00:17:18 UTC, Ali Çehreli wrote:
> Remove the extra is: :)
Huh, I swear I tried that. Thanks!
|
Copyright © 1999-2021 by the D Language Foundation