gpt4 book ai didi

ceylon - 如何在 ceylon 以优雅的方式按类型过滤?

转载 作者:行者123 更新时间:2023-12-02 18:21:38 26 4
gpt4 key购买 nike

我希望以下内容能够发挥作用:

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com