c++ - 根据给定的约束验证函数参数
问题描述
在说什么之前,请让我明确表示这个问题不是特定于语言的,而是我在口译员工作的一部分。
假设我们有一个 Value 类型的枚举。所以一个值可以是:
SV, // stringValue
IV, // integerValue
AV, // arrayValue
etc, etc
然后假设我们有一个函数F,它采用以下参数组合之一:
[
[SV],
[SV,IV],
[AV]
]
现在,调用该函数,我们计算传递的值,并获取它们的类型。假设我们得到[XV,YV]
.
问题是:
检查是否允许传递的值的最有效方法是什么?
(原始解释器是用 Nim 编写的,因此可以说我们可以在接受的值数组的数组中查找值数组,例如:accepted.contains(passed)
-但这不是有效的)
PS ^ 这就是我目前正在做的事情,尽管我也探索了使用位掩码的选项。但是,我看不出它有什么帮助,因为顺序也很重要。
解决方案
推荐阅读
- c# - 在 Windows 服务中运行时,OpenInputDesktop() 总是返回 0
- swift - 为什么独占运算符不包含范围运算符会引发错误?
- excel - 2列中的匹配数据输出最大第三列
- php - PHP 的 mail() 标题中带有“To:”
- android - Xamarin Android 这个 Activity 已经有一个由窗口装饰提供的操作栏
- gitlab - 跨不同客户端分发 Gitlab 管道
- mysql - 如何创建多个 Vitess 索引
- sqlite - 如何在flutter sqflite上的sql语句中插入一个var?
- ios - 无法对 SwiftUI 文本字段说话/发声
- laravel - 在 laravel 多态关系上获取 morphFrom