如何查看 Alloy 中函数的返回值?
How do I see the returned value(s) of a function in Alloy?
我试图了解函数在 Alloy 中的工作原理,其中一个重要部分是测试它们。例如我有这个代码:
open util/ordering[Time] // enforces total order on Time
sig Time {} // instances denote timestamps
sig File {
time : Time // every file has exactly one timestamp
}
fun getTime[F : set File] : Time {
{t : Time | some f : F | all x : F | f.time = t && gte[f.time,x.time]}
}
getTime 函数用于 return 给定文件集中具有最大时间戳的文件的时间值。我已经完成了这个功能,我相信它应该能按预期工作,但我不知道如何实际测试它。我知道我可以 运行 在 Alloy 中运行,但我不知道如何创建一组示例文件以用作输入。每当我设法得到一些东西到 运行 时,结果可视化中的任何地方都没有显示函数输出的内容。
在可视化中,您可以使用工具栏中的按钮打开“Evaluator”。
在那里你可以输入如下内容:
univ
获取所有原子的列表。并且:
getTime[File[=11=]]
计算函数。
我试图了解函数在 Alloy 中的工作原理,其中一个重要部分是测试它们。例如我有这个代码:
open util/ordering[Time] // enforces total order on Time
sig Time {} // instances denote timestamps
sig File {
time : Time // every file has exactly one timestamp
}
fun getTime[F : set File] : Time {
{t : Time | some f : F | all x : F | f.time = t && gte[f.time,x.time]}
}
getTime 函数用于 return 给定文件集中具有最大时间戳的文件的时间值。我已经完成了这个功能,我相信它应该能按预期工作,但我不知道如何实际测试它。我知道我可以 运行 在 Alloy 中运行,但我不知道如何创建一组示例文件以用作输入。每当我设法得到一些东西到 运行 时,结果可视化中的任何地方都没有显示函数输出的内容。
在可视化中,您可以使用工具栏中的按钮打开“Evaluator”。
在那里你可以输入如下内容:
univ
获取所有原子的列表。并且:
getTime[File[=11=]]
计算函数。