Visual Paradigm:无效的语法高亮显示,没有严重的语法错误(据我所知)
Visual Paradigm: Invalid Syntax Highlighting without acutal syntax mistake (as far as I can see)
我想我遇到了不一定有效或有用的错误消息。如果有效,请告诉我我遇到的错误是由什么触发的。
您不遵循 UML 表示法并且您交换了参数及其类型,您的操作必须是
create(entity : E) : Result<E>
create(entities : iterable<E>) : ResultCollection<E>
您的 create(E : entity) : Result<E>
被接受 'syntactically' 因为 var 可以是 E 及其类型 entity,但是在第二种情况下,var 名称 iterable<E>
是非法的,工具拒绝了。
来自 formal/2017-12-05 §9.6.4 第 117 和 118 页:
If shown in a diagram, an Operation is shown as a text string of the form:
[<visibility>] <name> ‘(‘ [<parameter-list>] ‘)’
[‘:’ [<return-type>] [‘[‘ <multiplicity-range> ‘]’]
[‘{‘ <oper-property> [‘,’ <oper-property>]* ‘}’]]
and <parameter-list>
is a list of Parameters of the Operation in the following format:
<parameter-list> ::= <parameter> [‘,’<parameter>]*
和第 110 页第 9.4.4 节:
<parameter> ::= [<direction>] <parameter-name> ’:’ <type-expression>
[’[’<multiplicity-range>’]’] [’=’ <default>]
[’{’ <parm-property> [’,’ <parm-property>]* ’}’]
所以它必须是 <parameter-name> ’:’ <type-expression>
而不是像你那样 <type-expression> ’:’ <parameter-name>
我想我遇到了不一定有效或有用的错误消息。如果有效,请告诉我我遇到的错误是由什么触发的。
您不遵循 UML 表示法并且您交换了参数及其类型,您的操作必须是
create(entity : E) : Result<E>
create(entities : iterable<E>) : ResultCollection<E>
您的 create(E : entity) : Result<E>
被接受 'syntactically' 因为 var 可以是 E 及其类型 entity,但是在第二种情况下,var 名称 iterable<E>
是非法的,工具拒绝了。
来自 formal/2017-12-05 §9.6.4 第 117 和 118 页:
If shown in a diagram, an Operation is shown as a text string of the form:
[<visibility>] <name> ‘(‘ [<parameter-list>] ‘)’
[‘:’ [<return-type>] [‘[‘ <multiplicity-range> ‘]’]
[‘{‘ <oper-property> [‘,’ <oper-property>]* ‘}’]]
and
<parameter-list>
is a list of Parameters of the Operation in the following format:
<parameter-list> ::= <parameter> [‘,’<parameter>]*
和第 110 页第 9.4.4 节:
<parameter> ::= [<direction>] <parameter-name> ’:’ <type-expression>
[’[’<multiplicity-range>’]’] [’=’ <default>]
[’{’ <parm-property> [’,’ <parm-property>]* ’}’]
所以它必须是 <parameter-name> ’:’ <type-expression>
而不是像你那样 <type-expression> ’:’ <parameter-name>