您当前的位置: 首页 >  swift

乱弹:Swift单复共体参数类型---与Ruby相比不那么优雅的实现

发布时间:2019-01-06 12:54:34 ,浏览量:0

本文提出单复共体参数的一种实现,同时比较了Ruby中的实现,后者显然更加优雅。适合对Swift语言本身有兴趣,喜欢纠结语法,而且了解其他动态语言的童鞋观看。

什么是单复共体参数?

这是我发明的词…

很简单,就是对于同一类型的对象,既可以传递它的单数形式又可以传递它的复数形式作为方法的参数。

在这里插入图片描述

还是一头雾水???举个栗子:

//display(...)是一个方法,现在还不知道它的原型应该怎么写,但希望如下几种方式都可以调用:

display("A")
display(["A","B"])
display("X","Y")

现在有点明白了吗?只要display方法的形参类型确定下来(String),可以传递任何数量的String对象给他。

第一次尝试

因为Swift的枚举可以自带附加值,所以先用它来试试:

enum ItemType{
    case one(Item)
    case many([Item])
}

func display(_ strings:ItemType
            
关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    107766博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.1032s