cn-family-name
v1.3.0
Published
中文亲戚名称计算器
Downloads
54
Readme
CN-Family-Name (中文亲戚计算器)
made with 💕 by fogsong233
Usage
本库使用关系链的方式储存亲戚关系,使用Kinship类构建一个亲戚链条.
eg:
new Kinship(Sex.MALE) // 我的性别
.father()
.daughter()
.olderBrother()
.youngerBrother()
.son()
.olderSister()
.father()我们将会自动shake和merge重复和冗余的连接,然后生成对于一个亲戚位置唯一的链条
你可以调用Kinship的genPossibleStr()来获取这个链条的中间产物(注意,因为如弟弟的姐姐等链条的歧义,获取到的唯一支付码可能有多个,代表不同的亲戚位置,弟弟的姐姐可能是我,妹妹,姐姐)
唯一字符码
形如S_M O_M D_M D_F的字符吗,A_B代表下一个亲戚的坐标,由空格连接,其中A可能是
U(Up, 父辈)D(Down, 子辈)Y(Younger, 弟弟妹妹)O(Older, 哥哥姐姐)H(Husband, 丈夫)W(Wife, 妻子)B可能是M(Male, 男性),F(Female, 女性).其中没有W_M,H_F(因为丈夫妻子确定性别) 如S_M D_M D_F代表孙女,你可以调用getName(strCode)来获取lookup有的名字,如果没有找到可以指定getName的第二个参数useDescWhenNotFound(默认是真)为true来获取这个唯一字符码的描述,如S_M O_M D_F D_F D_F D_F返回我的哥哥的女儿的女儿的女儿的女儿.
如何回退?
Kinship并不支持回退,因为他会在输入的时候简化路径,所以你需要自己记录输入链条,回退时重新构造Kinship对象获取名称.
