New to D
rikki cattermole via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Oct 21 22:28:02 PDT 2016
On 22/10/2016 6:25 PM, Mark wrote:
> Hello, Im a 3rd year Comp Sci student in Edmonton Alberta, Canada.
>
> Ive learned how to use C, and dabbled in C++ in school. Im also in a Oop
> course using Java.
>
> I picked up the book The D Programming Language by Alexrei Alexandrescu
> a few years ago.
> Lately Im really wanting to get into D, as It seems like a better
> version of C, and feels like java in a way.
Things have changed since TDPL was created but here is the errata which
says what[0].
> However;
>
> Ive run into a bit of a problem while writing some code. Im not sure if
> Im doing something wrong, or maybe the things Im using are depreciated??
>
> Code Blocks does not give any messages as to what is going wrong. I
> haven't configured anything, and am not familiar with messing around
> with IDE settings.
>
> Its directly based off of the example on page 8.
>
> here is the code that does not compile:
>
>
> import std.stdio, std.string;
>
> void main() { ... }
>
> void dict() {
>
> uint[string] dictionary;
>
> foreach(line; stdin.byLine()) {
>
> //chunk = splitter(strip(line); ## errors because of splitter
>
> foreach(word; splitter(strip(line))) { ## errors because of
> splitter ??
>
> if(word in dictionary) continue;
>
> //writeln(dictionary.length); ## gives 0 ??
>
> auto newID = dictionary.length;
> dictionary[word] = newId;
>
>
> writeln(newID, ' ', word);
>
> }
> }
>
> }
>
>
>
>
> Im not sure what Im doing wrong here.
>
> modifying the code to just print the result of splitLines results in the
> entire line.
> and just having splitter give a sting to print also errors.
>
> Please help, thanks!
Oh splitter is in std.algorithm.iteration[1].
Import it and it should work.
[0] http://erdani.com/tdpl/errata/
[1] http://dlang.org/phobos/std_algorithm_iteration.html#.splitter
More information about the Digitalmars-d-learn
mailing list