代码之家  ›  专栏  ›  技术社区  ›  Ωmega

smartmatch运算符未按预期工作

  •  2
  • Ωmega  · 技术社区  · 4 年前

    为什么选择smartmatch操作符 ~~ 他说 0 (0, 5..100) ?

    print ((0 ~~ (0, 5..100)) ? "Y" : "N");
    

    here .

    1 回复  |  直到 4 年前
        1
  •  3
  •   mob    4 年前

    使右侧成为数组引用

    print ((0 ~~ [0, 5..100]) ? "Y" : "N");
    

    或命名数组

    @a = (0, 5..100);
    print ((0 ~~ @a) ? "Y" : "N");
    

    或者。。。不管这叫什么(匿名命名数组?)

    print ((0 ~~ @{[0,5..100]}) ? "Y" : "N");
    

    (0,5..100) 是一个列表,但它不是一个数组,这是区别很重要的地方之一。