自建数据类型
我们看过了一些基础类型,比如整数和字符串,为了建模现实世界中更加复杂的数据类型,我们自己建立类型。
自建类型分两步:先说什么是一种类型,再说它有哪些东西。比如,我们可以定义五行。
先说五行是一种类型:
五行是一种类型。
再说五行有哪些:
木是一种五行。
火是一种五行。
土是一种五行。
金是一种五行。
水是一种五行。
用一样的方法,我们可以定义颜色,
颜色是一种类型。
青是一种颜色。
赤是一种颜色。
黄是一种颜色。
白是一种颜色。
黑是一种颜色。
对于数据进行计算
我们可以对自己定义的数据进行分析,并且对于每一种情况做出相应的反应。例如,我们可以写一个函数来获取五行的颜色, 通过分析遇到的五行,我们做出对应的判断:如果是我们知道的某一种,那么怎么办,或者如果是我们知道的另一种,那么要怎么办。
五行转颜色的类型是从五行到颜色。
五行转颜色的定义是
遇到了一行随后
分析一行随后
如果是木那么青
或者如果是火那么赤
或者如果是土那么黄
或者如果是金那么白
或者如果是水那么黑。
同样的方法,我们可以把颜色转换成字符串,以供打印。
颜色转字符串的类型是从颜色到字符串。
颜色转字符串的定义是
遇到了颜色随后
分析颜色随后
如果是青那么『青』
或者如果是赤那么『赤』
或者如果是黄那么『黄』
或者如果是白那么『白』
或者如果是黑那么『黑』。
打印行使用于(颜色转字符串使用于白)。 「:会打印 白:」
打印行使用于(颜色转字符串使用于(五行转颜色使用于土))。 「:会打印 黄:」
带参数的数据
构建自定义数据类型的时候我们获取想带上参数,这时候,可以构建一个函数。比如,表示时间:
时间是一种类型。
〇点整是一种从整数到时间。
〇点半是一种从整数到时间。
以及时间上的计算
从〇到〇的分钟数的类型是从时间到从时间到整数。
从〇到〇的分钟数的定义是
遇到了开始时间随后
遇到了结束时间随后
分析开始时间随后
如果是「开始时刻」点整那么
(分析结束时间随后
如果是「结束时刻」点整那么
(结束时刻减开始时刻)乘六零
或者如果是「结束时刻」点半那么
((结束时刻减开始时刻)乘六零)加三零
)
或者如果是「开始时刻」点半那么
(分析结束时间随后
如果是「结束时刻」点整那么
((结束时刻减开始时刻)乘六零)减三零
或者如果是「结束时刻」点半那么
(结束时刻减开始时刻)乘六零
)。
打印行使用于(整数表示使用于(从三点半到五点整的分钟数))。 「:会打印 90:」