首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果“应”一词存在于另一个属性中,即IBM中,如何使DXL属性为真?

如果“应”一词存在于另一个属性中,即IBM中,如何使DXL属性为真?
EN

Stack Overflow用户
提问于 2022-06-09 00:09:34
回答 1查看 186关注 0票数 0

尝试创建一个DXL布尔属性(称为“是需求吗?”)如果“应”一词存在于另一个属性(称为"Text")中,则为true,否则为false。

在DOORS模块的编辑模式中,我单击“编辑->属性->”“是需求吗?”->编辑.->检查DXL属性->浏览。->新建,编写代码-> Ok,关闭所有窗口,工具->刷新DXL属性

代码语言:javascript
运行
复制
Object o
for o in current Module do{

 if((o."Text") contains "shall")
  {
   o."Is Requirement?" = "True"
  }
 else
  {
   o."Is Requirement?" = "False"
  }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-09 06:09:40

这里有几个方面:

  • DXL属性的代码是一个特定对象和一个特定属性的代码,该对象在变量obj中可用,该属性在attrDXLName中可用。无论是在DXL属性中还是在DXL布局中,都没有对象的循环,columns.
  • contains具有签名int contains(Buffer b, string word, int offset),它在缓冲区上运行,而不是在字符串上操作。您可能希望使用bool findPlainText(string s, string sub, int &offset, int &length, bool matchCase[, bool reverse])
  • o."Text"将返回一个对象引用。但是您需要检查属性的内容。要获取string属性的内容,必须将对象引用强制转换为string,例如,将引用与字符串连接起来。您可以使用obj."Text" "".
  • Is在您的模块中真的有一个属性"Text“吗?通常,人们使用属性“对象文本”.

这会将代码更改为

代码语言:javascript
运行
复制
int offset, length
bool matchCase = true
obj.attrDXLName = findPlainText (obj."Object Text" "", "shall", offset, length, matchCase)

请记住,DXL属性的类型必须是布尔型才能工作。

最后但并非最不重要的是:你确定你的条件“文本包含应该”是足够的吗?包含“应该”(https://www.thefreedictionary.com/words-containing-shall)的所有单词怎么办?在互联网的某个地方有一些关于这个话题的线索。搜索“要求DXL应浅”。还有:“应该”够了吗?那“可能”、“应该”、“必须”呢?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72553436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档