Речь идет о создании классов, но в комментарии вы говорите о создании анонимных объектов . Не то же самое.
Если вам нужен анонимный объект, вы всегда можете сделать Object.new
. Если вам нужен простой похожий на структуру контейнер, вам стоит взглянуть на класс Struct
. С его помощью вы можете сделать что-то вроде:
def foo
anon_obj = Struct.new(:prop1, :prop2).new
anon_obj.prop1 = 123
anon_obj.prop2 = 'bar'
return anon_obj
end
Кстати, Ruby - это язык со строгой типизацией. Но это также динамическая типизация, и вы не можете ожидать, что она будет вести себя как статическая.