Doorbird 跟ring elite 买哪个好?# Hardware - 计算机硬件
h*g
1 楼
5 class NoName
6 {
7 children = new Hashtable()
8 name = ""
9
10 boolean haschild(child: string)
11 {
12 return children.contains(child)
13 }
14
15 NoName addChild(child: string)
16 {
17 childnode = new NoName()
18 childnode.name = child
19 children[child] = childnode
20 return childnode
21 }
22
23 NoName getNode(child: string)
24 {
25 if haschild(child)) then return children[child]
26 else return addChild(child)
27 }
28
29 void addList(input: string)
30 {
31 currentNode = getNode(input[0])
32 input = input.SubString(1, input.Length - 1)
33 if input.Length < 1 then currentNode.getNode("")
34 else currentNode.addList(input)
35 }
36
37 string scan()
38 {
39 if children.Values.Length == 0 then return name //? Values 是什么意思?
40 if children.Values.Length == 1 then return name + children.Values[0].scan
()
41 temp = new Array()
42 foreach child in children.Values.Sorted()
43 {
44 temp.Add(child.scan())
45 }
46 return name + "{" + temp.Sorted().JoinArray(",") + "}"
47 }
48 }
49
50 x = new NoName()
51 x.addList('/home/user/foo')
52 x.addList('/home/user/bar')
53 x.addList('/home/user/baz/one')
54 x.addList('/home/user/baz/two')
55
56 print x.scan()
6 {
7 children = new Hashtable()
8 name = ""
9
10 boolean haschild(child: string)
11 {
12 return children.contains(child)
13 }
14
15 NoName addChild(child: string)
16 {
17 childnode = new NoName()
18 childnode.name = child
19 children[child] = childnode
20 return childnode
21 }
22
23 NoName getNode(child: string)
24 {
25 if haschild(child)) then return children[child]
26 else return addChild(child)
27 }
28
29 void addList(input: string)
30 {
31 currentNode = getNode(input[0])
32 input = input.SubString(1, input.Length - 1)
33 if input.Length < 1 then currentNode.getNode("")
34 else currentNode.addList(input)
35 }
36
37 string scan()
38 {
39 if children.Values.Length == 0 then return name //? Values 是什么意思?
40 if children.Values.Length == 1 then return name + children.Values[0].scan
()
41 temp = new Array()
42 foreach child in children.Values.Sorted()
43 {
44 temp.Add(child.scan())
45 }
46 return name + "{" + temp.Sorted().JoinArray(",") + "}"
47 }
48 }
49
50 x = new NoName()
51 x.addList('/home/user/foo')
52 x.addList('/home/user/bar')
53 x.addList('/home/user/baz/one')
54 x.addList('/home/user/baz/two')
55
56 print x.scan()