CTFE toUpper/toLower

Jacob Carlborg doob at me.com
Wed Aug 29 23:28:57 PDT 2012


On 2012-08-30 02:13, cal wrote:
> Given this code for CTFE on a string array:
>
> enum E {one, two}
> enum string[] fields = [EnumMembers!E].to!(string[]);
>
> string print(string[] fields)
> {
>      string s;
>      foreach(string field; fields)
>      {
>          s ~= field.toUpper ~ ", ";
>      }
>      return s;
> }
>
> pragma(msg, print(["one", "two"]));
> pragma(msg, print(fields));
>
> I am trying to understand why the first pragma produces correct output
> but the second one fails in std.string.toUpper (cannot interpret result
> ~= c at compile-time)?

It works for me. DMD 2.060 Mac OS X.

-- 
/Jacob Carlborg


More information about the Digitalmars-d-learn mailing list