Ruby Collections
Arrays
Filter out nil values
Remember this very common JavaScript snippet?
[1, undefined, 2, undefined, 3, undefined].filter(e => e).join(" :: ");
//=> "1 :: 2 :: 3"
There are a few ways to achieve the same in Ruby:
[1, nil, 2, nil, 3, nil].select(&:itself).join(' :: ')
#=> "1 :: 2 :: 3"
[1, nil, 2, nil, 3, nil].filter { it }.join(' :: ')
#=> "1 :: 2 :: 3"
>> [1, nil, 2, nil, 3, nil].compact.join(' :: ')
=> "1 :: 2 :: 3"