I am not sure in what situation I would want to use Hash#fetch
over Hash#[]
. Is there a common scenario in where it would be of good use?
However, you can do this:
arr = [1,2,3]
arr[1..-2] #=> [1,2]
But not this:
arr.fetch(1..-2) #=> TypeError: no implicit conversion of Range into Integer
Similarly you can mutate an array with Hash#[]
arr[0] = "A"
arr #=> ["A",2,3]
But not with fetch:
arr.fetch(0) = "A" #=> unexpected '=', expecting end-of-input