Πέμπτη, 9 Φεβρουαρίου 2017

Αναθεώρηση 15 Έκδοση 8.2

Προστέθηκε η αλλαγή βάσης για τους πίνακες. Μπορούν να συνυπάρχουν πίνακες με βάση 0 και πίνακες με βάση 1. Εξ ορισμού η βάση είναι 0.

μ=Λάμδα Χ=1 ->{=Χ : Χ++}
Βάση 1
Πίνακας Α(10)<<μ() ' 1 .. 10
Για ι=1 έως 10 : Τύπωσε Α(ι), : Επόμενο ι
Τύπωσε
Βάση 0
Πίνακας Β(10)<<μ() ' 11 .. 20
Για ι=0 έως 9 : Τύπωσε Β(ι), : Επόμενο ι
Τύπωσε
Τύπωσε Έγκυρο(Α(0)), Έγκυρο(Β(10)) \\ 0  0
Τύπωσε Έγκυρο(Α(10)), Έγκυρο(Β(0)) \\ -1  -1 (αληθές)



Προστέθηκε η συντόμευση της Προς στην εντολή Αν Τότε, μόνο για αριθμητικές ετικέτες (και όταν δεν χρησιμοποιούμε μπλοκ}. Στο παράδειγμα φαίνονται και αριθμοί γραμμών (Η Μ2000 δέχεται και αριθμούς γραμμών μέχρι 5 ψηφία, το 050 μπορεί να κληθεί με το 50)

050 α=Τυχαίος(1, 40)
100 Αν α<20 Τότε 300
200 Προς 350
300 Τύπωσε "οκ" : Έξοδος
350 Τύπωσε "γεια"
400 Τέλος


Διορθώθηκε ένα ζήτημα με την αντιγραφή στοιχείου από πίνακα, όταν περιέχει ομάδα σε όλα τα στοιχεία του (με δήλωση όταν φτιάχνεται και έτσι έχει κοινές συναρτήσεις, και όχι ανά στοιχείο διαφορετικές), και θέλουμε να αντιγράψουμε ένα στοιχείο σε πίνακα που δεν έχει κάτι κοινό.
Παρακάτω ο πίνακας Β() μπορεί να πάρει οποιαδήποτε αντικείμενα, ενώ ο Α() θα έχει σε κάθε θέση τουλάχιστον κοινές συναρτήσεις και μεθόδους (Υπάρχει τρόπος να αλλάξουμε μεγέθη σε πίνακες, και να αυξήσουμε μεταβλητές και πίνακες, σε έναν πίνακα όπως ο Α(). Επιπλέον μπορούμε να έχουμε κάποια μέλη των αντικειμένων ως συναρτήσεις λάμδα και να τις αλλάζουμε όπως θέλουμε)

Κλάση Άλφα {
      Πίνακας Α(10)=5
      Χ=4,Υ=3
      Συνάρτηση Όλα {
            =.Α(Αριθμός)*+
      }
}
Μ=Άλφα()
Μ.Α(3)=100
Τύπωσε Μ.Όλα(3) \\403
\\ Φτιάχνω πίνακα με αντικείμενα με κοινές συναρτήσεις
Πίνακας Α(10)=Άλφα()
\\ βάζω τιμή στο αντικείμενο Α(1) στο πίνακά του Α(), στο Α(3)
Α(1).Α(3)=100
Τύπωσε Α(1).Όλα(3) \\403
Τύπωσε Α(0).Όλα(3) \\23
\\ Τώρα φτιάχνω πίνακα χωρίς να τον γεμίσω με ένα αντικείμενο
Πίνακας Β(10)
\\ Και απλά αντιγράφω το αντικείμενο από το Α(1) στο Β(1)
Β(1)=Α(1)
\\ στη προηγούμενη αναθεώρηση δεν έρχονταν και η συνάρτηση Όλα()
Τύπωσε Β(1).Όλα(3) \\403
\\ Τώρα αντιγράφω το Α(0) στο Β(1)
Β(1)=Α(0)
Τύπωσε Β(1).Όλα(3) \\23


Ανανεώθηκε η βοήθεια (μερικά στοιχεία επικαιροποιήθηκαν)