Я пытаюсь перенести этот шаблон параметризовать класс от Python для Ruby: https://github.com/prometheus/client_python/blob/6a8d85e5f64935b6c2a409291e9f6578a7bfe1b0/prometheus_client/core.py#L395-L434Как параметризовать класс в Рубине
Наружный метод устанавливает некоторые переменные, а затем внутренне определяет класс, который закрывает над этими значениями. В результате все объекты, созданные из этого возвращенного класса, имеют общее общее состояние.
Я не могу сделать это в Ruby, потому что Руби не позволяет определений классов методов:
def foo
class Bar
end
end
Это дает ошибку: class definition in method body
.
Каков правильный способ сделать это в Ruby?
«Ruby не допускает определения классов в методах» - почему? Прекрасно допускает. – mudasobwa
Попытка определить класс в методе дает мне следующую ошибку: «определение класса в теле метода». – Julius
Извините, вы когда-нибудь читали правила этого сайта? Отправьте код, который вы пытались запустить, после сообщения об ошибке, которое вы получили, и я смогу показать, что не так. – mudasobwa