digitalmars.D.learn - null and initialized string comparisons
- Martin (12/12) Feb 17 2021 Hi,
- Adam D. Ruppe (5/6) Feb 17 2021 == compares contents. Both null and "" have empty contents and
- Steven Schveighoffer (4/12) Feb 18 2021 assert (and if, and using boolean operators) looks at the pointer and
Hi, is this how it supposed to be? (https://run.dlang.io/is/7B4irm) --- string a = null; string t = ""; assert( ! a ); assert( t ); assert( t == a ); --- I have not expected assert(t == a) to be true - i would like to know the argument for why this is correct when at the same time assert(!a) and assert(t) is true.. feels a litle bit js-ish to me
Feb 17 2021
On Wednesday, 17 February 2021 at 20:48:22 UTC, Martin wrote:is this how it supposed to be? (https://run.dlang.io/is/7B4irm)== compares contents. Both null and "" have empty contents and are interchangable for operators that work on contents. The assert just looks at the pointer, not contents. The `is` operator also looks at pointer (and length).
Feb 17 2021
On 2/17/21 4:16 PM, Adam D. Ruppe wrote:On Wednesday, 17 February 2021 at 20:48:22 UTC, Martin wrote:assert (and if, and using boolean operators) looks at the pointer and length, the same as `is`. -Steveis this how it supposed to be? (https://run.dlang.io/is/7B4irm)== compares contents. Both null and "" have empty contents and are interchangable for operators that work on contents. The assert just looks at the pointer, not contents. The `is` operator also looks at pointer (and length).
Feb 18 2021