converting to/from char[]/string

drug drug2004 at bk.ru
Thu Mar 5 11:12:24 UTC 2020


On 3/5/20 2:03 PM, mark wrote:
> I want to use the Porter stemming algorithm.
> There's a D implementation here: 
> https://tartarus.org/martin/PorterStemmer/d.txt
> 
> The main public function's signature is:
> 
> char[] stem(char[] p, int i, int j)
> 
> But I work entirely in terms of strings (containing individual words), 
> so I want to add another function with this signature:
> 
> string stem(string word)
> 
> I've tried this without success:
> 
>      public string stem(string word) {
>          import std.conv: to;
> 
>          char[] chars = word.to!char[];
>          int end = chars.length.to!int; >          return stem(chars, 0, end).to!string;
>      }
> 
> Here are just a few of the errors:
> 
> src/porterstemmer.d(197,13): Error: cannot implicitly convert expression 
> s.length of type ulong to int
> src/porterstemmer.d(222,9): Error: cannot implicitly convert expression 
> cast(ulong)this.m_j + s.length of type ulong to int
> src/porterstemmer.d(259,12): Error: function 
> porterstemmer.PorterStemmer.ends(char[] s) is not callable using 
> argument types (string)
> src/porterstemmer.d(259,12):        cannot pass argument "sses" of type 
> string to parameter char[] s
> 
Your code and errors seem to be not related.


More information about the Digitalmars-d-learn mailing list