String Theory Questions

AsmMan via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Sep 14 07:24:13 PDT 2014


On Saturday, 13 September 2014 at 23:21:09 UTC, David Nadlinger 
wrote:
> On Saturday, 13 September 2014 at 22:41:39 UTC, AsmMan wrote:
>> D string are actullay C-strings?
>
> No. But string *literals* are guaranteed to be 0-terminated for 
> easier interoperability with C code.
>
> David

ah makes sense.


On Sunday, 14 September 2014 at 12:07:16 UTC, Marc Schütz wrote:
> On Sunday, 14 September 2014 at 09:07:26 UTC, Kagamin wrote:
>> On Sunday, 14 September 2014 at 00:34:56 UTC, WhatMeWorry 
>> wrote:
>>> So is one form (Empty strings versus null strings) considered 
>>> better than the other?  Or does it depend on the context?
>>
>> For all practical purposes they should be equivalent in D 
>> code. I suppose the distinction exists because somebody 
>> claimed he can make sense of it. Some API may rely on 
>> distinction between null and empty string, like XML DOM, 
>> though I don't think such interface is very useful.
>>
>> Also for some reason boolean value of a string is derived from 
>> ptr instead of length... meh.
>
> Which makes sense given the distinction exists, IMO. Compare 
> for example with Ruby, where empty strings and `0` integers 
> also evaluate to true, but only `nil` and `false` evaluated to 
> false.

That's why I don't like most of dynamic languages... type system 
is a mess. I don't like even the fact one can do:

x = "abc";
f(x)
x = 10;
g(x);

and it work


More information about the Digitalmars-d-learn mailing list