我正在尝试实现功能:
def foo(t : Class)
if t in Int::Signed
# ...
end
end
但是如何实现t in Int::Signed
? Int::Signed
我知道is_a?(Int::Signed)
,但是这里的参数类型为Type
。
谢谢。
答案 0 :(得分:4)
def foo(t : Class)
if t < Int::Signed
# ...
end
end
Class#<
仅在Crystal 0.25中添加,如果我没记错的话,因此请确保在不适合您的情况下进行更新。还有Class#<=
会为true
返回Int::Signed <= Int::Signed
。