如何仅在 Option 为 None 时有条件地执行代码?

2024-03-04

如果函数返回可选值,我不想采取行动;我如何测试None仅案例?这段代码可以工作,但看起来很糟糕。

let v = ffunc();
match v {
  None => { callproc() }, 
  Some(x) => {  }
}

在C中,我可以写:

int x = ffunc();
if ( !x ) { callproc() } 

如果您对值不感兴趣,只需使用Option::is_none() https://doc.rust-lang.org/stable/std/option/enum.Option.html#method.is_none,或其对应项Option::is_some() https://doc.rust-lang.org/stable/std/option/enum.Option.html#method.is_some:

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

如何仅在 Option 为 None 时有条件地执行代码? 的相关文章

随机推荐

  • MVC4 中的 Bootstrap 和 font-awesome

    我正在使用 MVC4 并通过 nuget 添加了 Bootstrap 和 Font Awesome 我可以看到 Bootstrap 如何通过 via 进行捆绑BootstrapBundleConfig cs 由 nuget 包添加 如下 p
  • 由于语法错误,我无法在 Haskell 上执行任何操作

    我可以执行简单的操作 例如 Hugs gt 2 2 例如 或任何操作 就此而言 但是当涉及到实际尝试定义一个函数时 例如 occurs Eq a gt a gt a gt Bool occurs x l x elem l 然后我收到消息 E
  • 在 PHP 中查找图像边框颜色的算法

    我正在尝试找到一种使用图像从图像中获取边框颜色的方法php 我尝试使用此代码 但此算法为我提供了任何图像中的所有颜色
  • 删除包含文件的文件夹

    我想发送文件file txt从我的 Rails 控制器使用send file 然后删除包含它的文件夹 send file Rails root public folder file txt system rm rf Rails root p
  • Android 应用内结算。何时取消注册 ResponseHandler?

    我们一年前实现了应用内结算 按照文档中的示例代码没有出现任何问题 几周前 我们注意到用户抱怨没有收到他们的物品 在调试代码时我们发现下面这句话才是问题的根源 Called when this activity is no longer vi
  • 在 Visual Studio Code 中隐藏 .js.map 文件:文件嵌套

    我正在 Visual Studio 代码中开发一个打字稿项目 并且想隐藏 js map 甚至可能是 js 文件不会出现在文件资源管理器中 是否可以只显示 ts文件资源管理器中的文件 在您的设置 用户或工作区 中 有一个设置可以调整以隐藏您想
  • 枚举智能感知显示属性?

    我想做这个 enum Foo Display Item One ItemOne 这样智能感知就会像在属性中一样显示它而不是实际名称 我知道这是可能的 我以前见过 那么你可以提供 XML 文档 enum Foo
  • 将条形图和折线图与 pandas 结合起来[重复]

    这个问题在这里已经有答案了 我正在尝试将条形图和折线图结合起来 但我似乎无法弄清楚 我尝试了代码here https stackoverflow com questions 23482201 plot pandas dataframe as
  • 关闭父级而不关闭子级

    我有一个项目 其中弹出一个设置对话框 父级 当用户点击 继续 时 将打开一个主对话框 子级 在主对话框中 用户可以重新编辑设置对话框 父级 当用户单击 X 关闭设置对话框时 应用程序终止 我认为这是因为我们关闭了父级并处理了它的所有子级 是
  • 重新定义 Mathematica 中的非交换乘法

    Mathematicas NonCommutativeMultiply 不会简化诸如 a 0 0 a 0 a 1 1 a a or a a a 2 我想重新定义 去做这个 我使用 NCAlgebra 来执行此操作 但我需要 ReplaceR
  • PHP 生成一个预先定义长度的随机数

    我正在尝试使用 mt rand 创建一个函数来生成真正的随机数 因为 rand 还不够 问题是我需要预先定义数字的长度 假设我需要一个 10 位随机数 无论如何 我一直在搞乱 这就是我想出的 function randomNumber le
  • 如何将 Scalaz 的 traverse 和 traverseU 与 Either 结合使用

    是否可以使用 Scalaz traverse and traverseU with Either代替Option 对于以下代码 val list List 1 2 3 def f i Int Either Int String if i g
  • Ajax根据行获取表值

    我可以从行中获取第一个和最后一个值 但无法获取行中的第二个和第三个值 谁能帮我 这是我的代码 gt 网页 tr td one td td two td td three td td four td td td tr
  • java.lang.IllegalArgumentException:解析错误 - 日期格式错误?

    我使用变量 CURRENT DATE 将当前日期存储在 SQLite 数据库中 我发现使用的日期格式是yyyy mm dd在相同的 我想解析代码中的日期 但收到此错误 java lang IllegalArgumentException 解
  • C# 将字符转换为字节(十六进制表示)

    这似乎是一个简单的问题 但我无法弄清楚 我需要转换这个字符 lt 以字节 十六进制表示 表示 但如果我使用 byte b Convert ToByte lt i get 60 十进制表示 代替3c 60 0x3C 你已经有了正确的答案 但你
  • 如何合并两个ArrayList而不重复? [复制]

    这个问题在这里已经有答案了 我有两个数组列表 ArrayList one A B C D E ArrayList two B D F G 我想要我的最终 ArrayList 它将有All一的元素和只存在于二而不存在于一的元素 所以 Arra
  • 如何在 SQL 中比较两个表并删除重复行?

    我有两个表 如果第二个表中存在行的精确副本 则需要从第一个表中删除行 有谁有我如何在 MSSQL 服务器中执行此操作的示例吗 好吧 在某些时候你将不得不检查所有列 不妨加入 DELETE a FROM a first table INNER
  • StreamReader.ReadToEnd() 使用什么字符编码?

    使用什么字符编码StreamReader ReadToEnd 使用下面的 b 而不是 a 的原因是什么 如果使用 a 是否存在字符编码问题的风险 而不是 b 还有其他方法比 a 和 b 更好吗 a Dim strWebResponse As
  • 为 Android 应用游戏制作重启按钮

    我正在开发一个 Android 应用程序 当我运行主要活动时 该应用程序会按我想要的方式运行 但在你在游戏中死亡后会停止 我想让你在游戏中死亡后出现一个重新启动按钮 到目前为止 我已经制作了一个带有按钮和主要活动背景的新布局 我在源文件夹中
  • 如何仅在 Option 为 None 时有条件地执行代码?

    如果函数返回可选值 我不想采取行动 我如何测试None仅案例 这段代码可以工作 但看起来很糟糕 let v ffunc match v None gt callproc Some x gt 在C中 我可以写 int x ffunc if x