&:將一組陣列中的元素轉換成字串
cats = [1, 2, 3, 4]
當使用:
cats.map do |x| x.to_s end
cats.map {|x| x.to_s }
會得到:
["1", "2", "3", "4"]
其中的block以及block變數可以用&:代替,然後:後面接續方法:
cats.map(&:to_s)
範例1
a = []
x = a.nil?
puts x => true;
a = []
x = a&.nil?
puts x => 不會執行puts
加入&.會判斷receiver如果是nil,就不會執行puts。
範例2
@candidate&.create
如果 @candidate為nil,就不會執行create方法,如此便不會出現undefined method `[]' for nil:NilClass的錯誤訊息。