Ruby – Case com Classes (Básico)

Recentemente um cara perguntou no canal #ruby-lang na rede Freenode.net como fazer para executar um determinado código para cada tipo de classe, de acordo com a classe do objeto. Solução rápida: Usando o case:

def class_case(val)
	case val
		when String
			puts "It's a String"
		when Fixnum
			puts "It's a Fixnum"
		when Array
			puts "It's an Array"
		else
			puts "It's something else"
	end
end

Ou seja, basta colocar a classe como condição.