Collect
Collect and Map are same:#
[10] pry(main)> [1,2,3,4,5,6,7,8].collect { |num| num > 2 }
=> [false, false, true, true, true, true, true, true]
[11] pry(main)> [1,2,3,4,5,6,7,8].collect { |num| num*2 }
=> [2, 4, 6, 8, 10, 12, 14, 16]
[13] pry(main)> [1,2,3,4,5,6,7,8].map { |num| num > 2 }
=> [false, false, true, true, true, true, true, true]
[12] pry(main)> [1,2,3,4,5,6,7,8].map { |num| num*2 }
=> [2, 4, 6, 8, 10, 12, 14, 16]
Select and find_all are same:#
# Returns manipulated
[14] pry(main)> [1,2,3,4,5,6,7,8].select { |num| num > 2 }
=> [3, 4, 5, 6, 7, 8]
# Returns Origional because there is no conditional
[15] pry(main)> [1,2,3,4,5,6,7,8].select { |num| num*2 }
=> [1, 2, 3, 4, 5, 6, 7, 8]
[23] pry(main)> [1,2,3,4,5,6,7,8].find_all { |num| num > 2 }
=> [3, 4, 5, 6, 7, 8]
[24] pry(main)> [1,2,3,4,5,6,7,8].find_all { |num| num *2 }
=> [1, 2, 3, 4, 5, 6, 7, 8]
Each also doesn't collect the result#
[16] pry(main)> [1,2,3,4,5,6,7,8].each { |num| num > 2 }
=> [1, 2, 3, 4, 5, 6, 7, 8]
[17] pry(main)> [1,2,3,4,5,6,7,8].each { |num| num*2 }
=> [1, 2, 3, 4, 5, 6, 7, 8]
Check:#
- Any ruby objects can be evaluated as boolean