为什么 smartmatch 根据操作数的顺序返回不同的值?

2024-03-29

我有一个数组,以下测试返回 true:

1 ~~ @a

然而,以下测试返回 false:

@a ~~ 1

我在《学习 Perl》中读到,智能匹配运算符两侧的值的放置并不重要,但显然在上面的代码中它确实如此。这是为什么?这两个语句检查的是不同的东西吗?


除了其他答案之外,Perl 5.10.1 更改列表 http://perldoc.perl.org/perl5101delta.html#Smart-match-changes有一节介绍了对~~操作员:

智能匹配操作员~~不再是可交换的。智能匹配的行为现在主要取决于其右侧参数的类型。

So 学习 Perl在这些更改之前可能是正确的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 smartmatch 根据操作数的顺序返回不同的值? 的相关文章

随机推荐

  • WAR 中的安全配置文件放在哪里?

    我正在尝试在我的 WAR 中使用 JAAS 进行身份验证 我明白我的配置文件 http download oracle com javase 6 docs api javax security auth login Configuratio
  • 扩展初始值设定项列表仅适用于

    我对 C 很陌生 我在阅读错误时遇到了困难 我能够消除其中的大部分错误 但我只剩下一些错误 我请求对它们的帮助 这是程序 include
  • “数组下标不是整数”c

    我正在尝试使用 for 循环进行矩阵乘法 但收到错误 数组下标不是整数 请问我可以得到一些帮助吗 include
  • Android Proguard 警告:无法写入资源(重复的 zip 条目)

    我启用了 proguard 并得到 Warning can t write resource META INF LICENSE txt Duplicate zip entry commons io 2 4 jar META INF LICE
  • Singleton 对象 - 在静态块中或在 getInstance() 中;应该使用哪个

    下面是两种实现单例的方法 各自的优点和缺点是什么 静态初始化 class Singleton private Singleton instance static instance new Singleton public Singleton
  • Facebook JSON 字符串的反序列化?

    我无法从运行 fql 查询后生成的 JSON 字符串中提取 facebook 用户的 work history 从属关系和 current loc 我已经上过这门课 public class Data public CurrentLocat
  • UI自动化切换窗口

    我注意到 setforegroundwindow 可能非常不稳定 无论你怎么做 我注意到 在可能的情况下使用 UIAutomation 似乎可以改善情况 例如 获取 WindowPattern 并使用类似以下内容 windowPattern
  • .setAttribute 与 .attribute= 背后发生了什么?

    描述 我正在使用简单javascript设置 a 的值input 我使用了多种看似相同但结果不同的方法 这是一个例子 HTML
  • Spring MVC 请求映射不起作用

    我想用一个控制器创建简单的 hello world 应用程序 没有任何类的普通 spring 可以工作 但是当我添加控制器 更改 xml 文件 按照分步教程 并尝试打开 localhost project hello html 时 它会抛出
  • 从 Android 应用程序中的本机库访问根文件(/system、/dev)

    我有一个原生库 它将尝试在 Android 设备的 system dev 文件夹中创建文件 使用 open fopen 等 现在我已经使用 JNI 和 NDK 将库与 A ndroid 应用程序集成 但在根文件夹中创建文件失败 我尝试从本机
  • 可以使用 Flutter 复制 iOS App Store 转换吗?

    是否可以使用Flutter复制iOS App Store的转场效果 我尝试通过将两个标签放入两个小部件的根布局中来使用英雄动画 但动画看起来很卡顿或者不是我所期望的 但这样做的好处是 当我使用 MaterialPageRoute 时 我可以
  • Logger 和 System.out.println 的输出不按顺序

    我想要记录器的输出inputstream在 Eclipse 控制台中 但每次执行的时候 结果的顺序总是不一样 我有几个类 其中一个主类可以调用其他类 并且我将记录器放入每个方法中进行调试 我将结果打印到控制台 我也有检索的方法inputst
  • 在 javascript 中使用 .css() 设置细边框

    因此 当用户单击页面上的按钮时 我试图在按钮周围设置边框 要设置处理程序 我要 reportButtons click function change border color 我尝试了两种方法来更改其中按钮的边框颜色 第一种方法是使用 c
  • Asp.net mvc 表单发布和分页

    我有一个操作方法 搜索 在发布表单时调用该方法 根据表单的发布值 可能有数千个搜索结果 我想逐页显示搜索视图 但如何知道第一次发布的表单值是什么 这样我就可以通过传递页面参数来调用搜索视图 最好的方法是接受系统的无状态性 每次渲染视图时 请
  • 如何将 C# 转换为 C++ [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有人可以帮我将 C 转换为 C 吗 这是一个例子 using System using System Net using System
  • Google数据存储-在没有热点的情况下对创建日期字段进行索引

    我正在使用 Google Datastore 需要查询它来检索一些实体 这些实体需要按从最新到最旧的顺序排序 我的第一个想法是拥有一个包含时间戳的 date created 属性 然后我会索引该字段并对该字段进行排序 这种方法的问题是它会导
  • 像 Chanel 应用程序一样自定义集合视图布局

    我正在尝试做一个自定义布局 例如香奈儿应用程序 您可以在应用程序商店中找到该应用程序 https itunes apple com us app chanel fashion id409934435 mt 8 https itunes ap
  • 使用 simple_form 和rails 4 创建多个嵌套表单

    我正在尝试使用以下模型创建一个简单的应用程序 类别 has many gt 问题 has many gt 答案 我有以下用于创建类别 问题的代码 categories form haml html simple form for categ
  • 使用 AWK 进行字数统计

    我有如下文件 这是一个示例文件 该文件将用于测试 this is a sample file this file will be used for testing 我想用AWK来统计单词数 预期输出是 this 2 is 1 a 1 sam
  • 为什么 smartmatch 根据操作数的顺序返回不同的值?

    我有一个数组 以下测试返回 true 1 a 然而 以下测试返回 false a 1 我在 学习 Perl 中读到 智能匹配运算符两侧的值的放置并不重要 但显然在上面的代码中它确实如此 这是为什么 这两个语句检查的是不同的东西吗 除了其他答