作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望以下内容能够发挥作用:
void takeOnlyStrings(String* s) {
print(s);
}
{String|Integer*} ab = {"Hi", 1};
takeOnlyStrings(for (item in ab) if (item is String) item);
甚至是这样:
Boolean isString(Object o) => (o is String);
takeOnlyStrings(ab.filter(isString));
但运气不佳。
最佳答案
缩小值类型的语法是前缀is Type val
,例如:
void takeOnlyStrings(String* s) {
print(s);
}
{String|Integer*} ab = {"Hi", 1};
takeOnlyStrings(for (item in ab) if (is String item) item);
语法item is String
只是一个生成 bool
值的运算符表达式。它不会缩小其参数的类型。
关于ceylon - 如何在 ceylon 以优雅的方式按类型过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20411753/
我是一名优秀的程序员,十分优秀!