Πίνακας Περιεχομένων
Η Genius έχει κάποια βασική θεωρητική λειτουργικότητα συνόλων ενσωματωμένη. Προς το παρόν ένα σύνολο είναι απλά ένα διάνυσμα (ή πίνακας). Κάθε ξεχωριστό αντικείμενο αντιμετωπίζεται ως διαφορετικό στοιχείο.
Ακριβώς όπως τα διανύσματα, τα αντικείμενα στα σύνολα μπορούν να περιλαμβάνουν αριθμούς, συμβολοσειρές null
, πίνακες και διανύσματα. Σχεδιάζεται στο μέλλον να υπάρχει ένας αποκλειστικός τύπος για σύνολα, αντί να χρησιμοποιούνται διανύσματα. Σημειώστε ότι οι αριθμοί κινητής υποδιαστολής είναι διακριτοί από τους ακέραιους, ακόμα κι αν εμφανίζονται το ίδιο. Δηλαδή η Genius θα θεωρήσει τις 0
και 0.0
ως δύο διαφορετικά στοιχεία. Η null
αντιμετωπίζεται ως ένα κενό σύνολο.
Για να δομήσετε ένα σύνολο από ένα διάνυσμα, χρησιμοποιήστε τη συνάρτηση MakeSet
. Προς το παρόν, θα επιστρέψει απλά ένα νέο διάνυσμα, όπου κάθε στοιχείο είναι μοναδικό.
genius>
MakeSet([1,2,2,3])
= [1, 2, 3]
Παρόμοια, υπάρχουν συναρτήσεις Union
, Intersection
, SetMinus
, που είναι μάλλον αυτονόητες. Για παράδειγμα:
genius>
Union([1,2,3], [1,2,4])
= [1, 2, 4, 3]
Σημειώστε ότι δεν εγγυάται καμία τάξη για τις τιμές επιστροφής. Αν θέλετε να ταξινομήσετε το διάνυσμα θα πρέπει να χρησιμοποιήσετε τη συνάρτηση SortVector
.
Για τον έλεγχο μέλους, υπάρχουν συναρτήσεις IsIn
and IsSubset
, που επιστρέφουν μια λογική τιμή. Για παράδειγμα:
genius>
IsIn (1, [0,1,2])
= true
Η είσοδος IsIn(x,X)
είναι φυσικά ισοδύναμη με IsSubset([x],X)
. Σημειώστε ότι, αφού το κενό σύνολο είναι ένα υποσύνολο κάθε συνόλου, η IsSubset(null,X)
είναι πάντα αληθής.