Hacker News new | past | comments | ask | show | jobs | submit login

This list is crap. He advocates the ridiculous

    x = if boolean then 3 else 5 end
in place of

    x = boolean ? 3 : 5
Then we have

  return if x = null
which assigns the value of "null" to x (if null exists). Maybe he meant

  return if x == nil
If so, this is better rendered as

  return if x.nil?
Finally,

  all_users.select(&:is_active).map(&:name).sort
isn't standard Ruby; it will (currently) only work in Rails.



all_users.select(&:is_active).map(&:name).sort

isn't standard Ruby; it will (currently) only work in Rails.

It's standard in 1.9, and making it work in 1.8 is all of 3 lines:

    class Symbol
      def to_proc() proc {|obj, *args| obj.__send__(self, *args) } end
    end
Or if you've got facets:

    require 'facets/symbol/to_proc'


It's standard in 1.9

That's why I said "(currently)". From the official Ruby homepage: The current stable version is 1.8.7.

making it work in 1.8 is all of 3 lines

I agree, but this still makes it not standard Ruby. The article should have mentioned this.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: