Lo que se devuelve en Ruby si la última declaración evaluada es una declaración if

Mi entendimiento es que ruby ​​devuelve la última declaración evaluada en una función. ¿Qué pasa si la función termina con unaif declaración que evalúa a falso

def thing(input)
  item = input == "hi"
  if item
    []
  end
end

puts thing("hi").class #> Array
puts thing("not hi").class #> NilClass

Me gusta esta funcionalidad (volviendonil si la afirmación es falsa), pero por qué no lo esfalse devuelto (de la tarea aitem)?

Respuestas a la pregunta(2)

Su respuesta a la pregunta