On 10.10.2011 19:55, %u wrote:
Hello.  I'm having problems compiling the following:

// From chapter 1 of D Programming Language.
//
import std.stdio, std.string;

void main() {
   uint[string] dictionary;

   foreach( line; stdin.byLine()) {
     // Break sentence into words
     // Add each word in the sentence to the vocabulary
     foreach( word; splitter(strip(line))) {
       if( word in dictionary) continue; // Nothing to do.
       auto newID = dictionary.length;
       dictionary[word] = newID;
       writeln( newid, '\t', word);
     }
   }
   return;
}



$ dmd wordcount.d
wordcount.d(9): Error: undefined identifier splitter



$ dmd -v
DMD32 D Compiler v2.055
Copyright (c) 1999-2011 by Digital Mars written by Walter Bright
Documentation: http://www.digitalmars.com/d/2.0/index.html


I am doing the examples in cygwin.

Anyone know what the problem is?


thanks.



Seems some functionality was moved in 2.052. From std.string documentation:
"IMPORTANT NOTE: Beginning with version 2.052, the following symbols have been generalized beyond strings and moved to different modules."
And
"split     Use std.array.split instead"

std.array includes both split and splitter.
http://www.d-programming-language.org/phobos/std_array.html#split

Reply via email to