【发布时间】:2011-04-11 23:58:57
【问题描述】:
我有一个 C# 类 MyClass。
我需要实现 f# 方法返回所有 IList 中项目的可能排列
问题是 MyClass 包含一个方法 bool CheckOrder(IList 前辈) 如果 MyClass 的实例可以放在实例之后的排列中 参数中的 MyClass。否则此方法返回 false。
请,谁能告诉我如何实现正确的 F# 函数。
更新: 考虑到我的 C# 类有方法,您能否概述方法测试的 F# 代码:bool CheckOrder(IList 前辈)
【问题讨论】:
-
有了这个界面,唯一的解决方案似乎是“生成和测试”,即创建所有排列然后过滤它们。这对于大型列表可能是不切实际的。通过更明确地表示排序约束,使用调度和约束编程的技术应该可以实现有效的实现。不妨看看 Microsoft Solver Foundation。
标签: f# permutation