reddit.com: first Chapter of TDPL available for free
Jos van Uden
jvu at nospam.nl
Sat Aug 8 17:44:26 PDT 2009
Andrei Alexandrescu wrote:
> http://www.reddit.com/r/programming/comments/975ng/diving_into_the_d_programming_language_tdpl/
>
>
> (Don't tell anyone, but I plan to rewrite it.)
>
> Andrei
Is this supposed to compile? I keep getting error messages.
import std.stdio, std.string;
void main() {
uint[string] dic;
foreach (line; stdin.byLine) {
// Break sentence into words
string[] words = split(strip(line));
// Add each word in the sentence to the vocabulary
foreach (word; words) {
if (word in dic) continue; // nothing to do
uint newID = dic.length;
dic[word] = newID;
writeln(newID, '\t', word);
}
}
}
test.d(7): Error: function std.string.split (immutable(char)[] s) does
not match parameter types (char[])
test.d(7): Error: cannot implicitly convert expression (strip(line)) of
type char[] to immutable(char)[]
test.d(7): Error: expected 2 function arguments, not 1
I've changed the code to:
import std.stdio;
import std.string;
void main() {
uint[string] dic;
foreach (line; stdin.byLine) {
string[] words = split(strip!(string)(line));
foreach (word; words) {
if (word in dic) {
continue;
}
uint newID = dic.length;
dic[word] = newID;
writeln(newID, '\t', word);
}
}
}
but I still get an error...
test.d(12): Error: cannot implicitly convert expression (line) of type
char[] to immutable(char)[]
More information about the Digitalmars-d-announce
mailing list