对于if case,guard case,case的更好的语法

时间:2017-06-17 05:38:10

标签: swift syntax pattern-matching

Swift具有以下语法作为仅具有一个案例标签的交换机的简写:

   if case pattern = value { }
   guard case pattern = value { }
   for case pattern = value { }

我发现这种语法令人困惑且可读性差,因为:

  1. 使用赋值运算符' ='意味着分配,而没有真正的分配(除非使用case let)。
  2. 参数的顺序是倒退的:我们正在测试值是否与模式匹配,但我们将其写为"模式与值匹配"。
  3. 如果语法看起来像这样:

    if value ~ pattern { }
    

    那么学习〜运算符的功能就足够了,之后阅读就会非常容易和自然。

    (我知道这只是我的观点,很多人都对这种语法感到满意,但请在这里请耐心等待。让我们探索Swift 3或4可能实现的替代方案)

    我的问题是:有没有办法让〜语法适用于所有情况,其中"如果情况"语法有效吗?

0 个答案:

没有答案