Crystal lang: Тип арифметики, принадлежит Союзу?
Я пытаюсь реализовать функцию:
def foo(t : Class)
if t in Int::Signed
# ...
end
end
Но как реализовать t in Int::Signed
? Где Int:: Подписано
я знаю is_a?(Int::Signed)
но здесь параметр имеет тип Type
, Благодарю.
1 ответ
Решение
def foo(t : Class)
if t < Int::Signed
# ...
end
end
Class#<
добавляется только в Crystal 0.25, если я не ошибаюсь, поэтому убедитесь, что вы обновляете, если он не работает для вас. Существует также Class#<=
что бы вернуться true
за Int::Signed <= Int::Signed
,