What about putting array.empty in object.d?
Nick Sabalausky
a at a.a
Tue Mar 20 20:54:54 PDT 2012
Hear me out... ;)
Using empty seems to be emerging as the recommended practice for testing
whether an array is empty. And that makes sense as it's consistent with
other ranges. I'm all in favor of that.
But I've found myself avoiding empty (and instead doing arr=="" or checking
the .length) just because empty doesn't work on arrays unless you've already
imported std.array (unless my knowledge is out-of-date, which is possible
considering how fast things are moving ;) ). So doing "arr.empty" is a
little messy and increases my cognitive load, whereas arr=="", arr==[], and
arr.length == 0, "just work".
Considering that:
1. Arrays are (from the user's perspective) a built-in type that doesn't
need to be explicitly imported.
2. Calling 'empty' is (for good reason) the recommended standard practice
for checking if arrays are empty.
...Perhaps it would make sense for empty(T)(T[] a) to be moved into
object.d, or at least somewhere it will always be implicitly included? Being
a standard part of arrays and input ranges already effectively elevates
"empty" to a relatively special status anyway.
More information about the Digitalmars-d
mailing list