Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
78
Task/Set/Nanoquery/set-1.nanoquery
Normal file
78
Task/Set/Nanoquery/set-1.nanoquery
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
class set
|
||||
declare internal_list
|
||||
|
||||
def set()
|
||||
internal_list = list()
|
||||
end
|
||||
def set(list)
|
||||
internal_list = list
|
||||
end
|
||||
|
||||
def append(value)
|
||||
if not value in internal_list
|
||||
internal_list.append(value)
|
||||
end
|
||||
return this
|
||||
end
|
||||
def contains(value)
|
||||
return value in internal_list
|
||||
end
|
||||
def difference(other)
|
||||
diff = list()
|
||||
for value in this.internal_list
|
||||
diff.append(value)
|
||||
end
|
||||
|
||||
for i in range(len(diff) - 1, 0)
|
||||
if diff[i] in other.internal_list
|
||||
diff.remove(i)
|
||||
end
|
||||
end
|
||||
|
||||
return new(set, diff)
|
||||
end
|
||||
def operator=(other)
|
||||
for value in other.internal_list
|
||||
if not value in this.internal_list
|
||||
return false
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
def intersection(other)
|
||||
intersect = list()
|
||||
for value in this.internal_list
|
||||
if other.contains(value)
|
||||
intersect.append(value)
|
||||
end
|
||||
end
|
||||
return new(set, intersect)
|
||||
end
|
||||
def subset(other)
|
||||
for value in this.internal_list
|
||||
if not value in other.internal_list
|
||||
return false
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
def union(other)
|
||||
u = list()
|
||||
|
||||
for value in this.internal_list
|
||||
u.append(value)
|
||||
end
|
||||
|
||||
for value in other.internal_list
|
||||
if not value in u
|
||||
u.append(value)
|
||||
end
|
||||
end
|
||||
|
||||
return new(set, u)
|
||||
end
|
||||
|
||||
def toString()
|
||||
return str(this.internal_list)
|
||||
end
|
||||
end
|
||||
25
Task/Set/Nanoquery/set-2.nanoquery
Normal file
25
Task/Set/Nanoquery/set-2.nanoquery
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
import "rosetta-code/set.nq"
|
||||
|
||||
a = new(set, {1, 2, 3, 4, 5})
|
||||
b = new(set, {2, 3, 4, 5, 6, 8})
|
||||
c = new(set, {2, 3, 4})
|
||||
d = new(set, {2, 3, 4})
|
||||
|
||||
println "a: " + a
|
||||
println "b: " + b
|
||||
println "c: " + c
|
||||
println "d: " + d
|
||||
|
||||
println "2 in a: " + a.contains(2)
|
||||
println "6 in a: " + a.contains(6)
|
||||
|
||||
println "a union b: " + a.union(b)
|
||||
println "a - b: " + a.difference(b)
|
||||
println "c subset of a: " + c.subset(a)
|
||||
|
||||
println "c = d: " + (c = d)
|
||||
println "d = c: " + (d = c)
|
||||
|
||||
println "a intersect b: " + a.intersection(b)
|
||||
println "add 7 to a: " + a.append(7)
|
||||
println "add 2 to a again: " + a.append(2)
|
||||
Loading…
Add table
Add a link
Reference in a new issue