On 2014-01-19 11:30:00 +0000, "bearophile" <[email protected]> said:

Jacob Carlborg:

I think nil (null) works quite nicely in Ruby. nil is a singleton instance of the NilClass class. Since it's an object you can call methods on it, like to_s, which returns an empty string. It works quite well when doing web development with Ruby on Rails. If you're trying to render something that's nil you'll get nothing, instead of crashing that whole page. Sure, there might be a small icon or similar that isn't rendered but that's usually a minor detail. If the page is working and main content is rendered that's preferable.

Walter is arguing against this solution in D.
While that can be OK for Ruby used for web development, for a statically typed language meant for safe coding styles, there are better type-based solution to that problem.

It won't work in D's type system anyway. Ruby is dynamically typed, that's why it can work.

Interestingly, in Objective-C calling a method on a null object pointer just does nothing. That's a feature that is often useful when chaining calls that might return null (you don't have to do all these extra checks) or with weak pointers, but it can on occasion lead to subtle bugs.

--
Michel Fortin
[email protected]
http://michelf.ca

Reply via email to