在示例中显示更容易。如果我将以下内容发送到 F# 交互
type Person = {Name : string; Age : int}
let joe = {Name = "Joe"; Age=30}
输出是:
type Person =
{Name: string;
Age: int;}
val joe : Person = {Name = "Joe";
Age = 30;}
Fsi 足够聪明,可以打印所有属性。
逐行发送以下内容
let l = new List<int>()
l
结果是
val l : List<int>
val it : List<int> = seq []
Fsi 看到了l
implements IEnumerable
,并且(正确地)认为这是我期望看到的。但在 中还有其他属性l
,尤其是Count
和Capacity
。(这对于列表并不重要,但在我的情况下对于复杂类型而言)
如何让 F# 交互式打印出对象的属性并忽略它IEnumerable
?(就像Person
第一个例子中的类型一样)