petri-net - 如何获取 UNION 类型的元素?
问题描述
我有以下声明:
colset AUTHENTICATION = product INT * STRING;
colset REQUEST_PUB = product AUTHENTICATION * STRING * REAL;
colset REQUEST_SUB = product AUTHENTICATION * STRING * INT;
colset REQUEST_PUBSUB = union pub_req:REQUEST_PUB + sub_req:REQUEST_SUB;
var pubsub_req : REQUEST_PUBSUB
我有一个类型的地方REQUEST_PUBSUB
,可以接收REQUEST_PUB
和REQUEST_SUB
类型的令牌。这个地方将变量发送pubsub_req
到转换。我想使用这些pubsub_req
值进行操作。例如,测试请求的字符串参数是否为某个值。我正在尝试这样做#3 pubsub_req = "some value"
,但出现以下错误:
错误:运算符和操作数不一致 [类型不匹配]
运算符域:{3:'Y;'Z}
操作数:表达式中的 REQUEST_PUBSUB
:(fn {3=3,...} => 3) pubsub_req
详细失败
如何对 UNION 类型的元素进行操作?
解决方案
我没有像我尝试的那样做,而是将REQUEST_PUB
类型更改为:
colset REQUEST_PUB = product AUTHENTICATION * STRING * INT;
然后,我传递了一个列表,例如((int_var, string_var), string_var, int_var)
, 而不是REQUEST_PUBSUB
变量。这样我就可以在一些列表变量中执行操作。
推荐阅读
- c# - 无法将我的类序列化为所需的 json 文件
- java - ExecutorService 停止运行
- sql-server-2008 - 表的所有列中包含空格的列名的 Null 和 Not Null 值的计数
- postgresql - 重启 Spring Boot 应用程序后第一次调用缓慢
- django - “发布”对象没有“评论”属性?
- php - 如何设置查询参数dialogflow php sdk
- r - 如何用readxl导入一列带有“%”的数据?
- r - 通过 R 转储 postgres 数据库
- vb.net - 在桌面右下角显示表单而不重叠任务栏
- reactjs - 未捕获的 ReferenceError:React 未在 bundle.js 中定义