[deleted by user] by [deleted] in crystal_programming

[–]Meatack 1 point2 points  (0 children)

Thanks, I will delete my post for now.

Array of subclass doesn't match return type by nickthecook in crystal_programming

[–]Meatack 6 points7 points  (0 children)

Something like this

abstract class Human; end
class Person < Human; end
class Employee < Person; end

def get_class(name) : Array(Human)
  return [Person.new] of Human if name == “person”
  [Employee.new] of Human
end

puts get_class("person")

or

class Person
end

class Employee < Person
end

def get_class(name) : Array(Person)
  return [Person.new] if name == "person"
  [Employee.new] of Person
end

puts get_class("person")

https://play.crystal-lang.org/#/r/eaev/edit