Мне интересно, поддерживаются ли операторы умножения и деления Alloy. Я попробовал "*" в качестве оператора умножения, но он не работает. Хотя "+" работает.
Большое спасибо. С уважением, Фатхия
Мне интересно, поддерживаются ли операторы умножения и деления Alloy. Я попробовал "*" в качестве оператора умножения, но он не работает. Хотя "+" работает.
Большое спасибо. С уважением, Фатхия
Арифметические операторы поддерживаются встроенными функциями: plus
/add
, minus
/sub
, mul
, div
, rem
.
one sig S {
x, y: Int,
pres, sres, mres, rres, dres: Int
} {
pres = plus[x, y]
sres = sub[x, y]
mres = mul[x, y]
rres = rem[x, y]
dres = div[x, y]
}
run {}
Из Software Abstractions (издание 2006 г.) Дэниела Джексона , п. 135, ответ в обсуждении умножения гласит: «Нет, это не так» и продолжает объяснять, что модели, которые требуют этого, часто плохо подходят для моделирования в Alloy.