阴阳#
[1]:
#r "nuget:ConsoleTables"
#r "nuget:YiJingFramework.PrimitiveTypes"
using ConsoleTables;
using YiJingFramework.PrimitiveTypes;
Installed Packages
- ConsoleTables, 2.6.1
- YiJingFramework.PrimitiveTypes, 4.0.1
由于只存在两个可能的值,因此 Yinyang 与先前的五行和干支略有不同,内部是使用布尔值来表示的。对外它提供 IsYang 属性取得此值,也提供了相对应的构造方法。除此之外,它不支持加减运算,但是支持布尔类型所具有的 ! 运算符,以及 & 、 | 和 ^ 运算。
不过,我们不打算为它实现
operator true和operator false,因为它本身并不是一个布尔值。
这里主要显示一下其 ToString 的结果:
[2]:
var table = new ConsoleTable("Yinyang", "G", "C");
table.AddRow("Yinyang.Yin", Yinyang.Yin.ToString("G"), Yinyang.Yin.ToString("C"));
table.AddRow("Yinyang.Yang", Yinyang.Yang.ToString("G"), Yinyang.Yang.ToString("C"));
table.Write(Format.Minimal);
| Yinyang | G | C |
|--------------|------|----|
| Yinyang.Yin | Yin | 阴 |
| Yinyang.Yang | Yang | 阳 |