Crystal lang:类型算术,属于一个并集吗?

时间:2018-06-29 06:40:14

标签: types crystal-lang

我正在尝试实现功能:

def foo(t : Class)
    if t in Int::Signed
        # ...
    end
end

但是如何实现t in Int::SignedInt::Signed

我知道is_a?(Int::Signed),但是这里的参数类型为Type。 谢谢。

1 个答案:

答案 0 :(得分:4)

def foo(t : Class)
  if t < Int::Signed
    # ...
  end
end

Class#<仅在Crystal 0.25中添加,如果我没记错的话,因此请确保在不适合您的情况下进行更新。还有Class#<=会为true返回Int::Signed <= Int::Signed