Τετάρτη, 15 Νοεμβρίου 2017

Αναθεώρηση 8 (Έκδοση 9.0) προσθήκη λειτουργιών.

Σε αυτή την αναθεώρηση βελτίωσα την ταχύτητα του διερμηνευτή, και επιπλέον:
Διαβάζοντας το Wiki για την γλώσσα Mumps (φτιάχτηκε το 1966), ζήλεψα την Piece$() και την έφτιαξα για την Μ2000.

Προσθήκη της Piece$() ή Μέρος$(), και η ανάποδη (βάζει στοιχεία σε θέσεις) η Καταχώρηση (OverWrite). Η καταχώρηση ξεκινάει από το 0 και βάζει στοιχεία. Εδώ δίνουμε το 0 και το 5, και τα ενδιάμεσα τα αφήνει χωρίς τιμή, αν διαβάσουμε θα δώσει "". (δείτε εδώ στο παράδειγμα ότι ξεκινάμε με άδειο Α$ και βάζουμε αυτά που θέλουμε.
Η Μέρος μπορεί να διαβάζει:
1) το πίνακα  ως Μέρος$(Α, ".") ή Μέρος$(Α, ".")()
2) τα στοιχεία από το 1  Μέρος$(Α$, ".", 2)
3) τα στοιχεία από το 0  Μέρος$(Α$, "." )(0)

Εκτός από αλφαριθμητικά, δουλεύει και για έγγραφο (αν και εδώ το μετατρέπει σε αλφαριθμητικό, δηλαδή δεν κερδίζουμε κάτι ως έγγραφο). Η Καταχώρηση έχει και άλλη λειτουργία, αν ξεκινάει με αριθμητική έκφραση, και σχετίζεται με έγγραφα, και υπήρχε ως τέτοια εντολή πριν την έκδοση 8.



\\ Δουλεύει για έγγραφο
Σημ : Έγγραφο Α$
Α$=""
Καταχώρηση Α$,".", 0:="άλφα", 1:="βήτα"
Τύπωσε Α$ \\ άλφα.βήτα
Τύπωσε Μέρος$(Α$,".")(0), Μέρος$(Α$,".",1) \\ άλφα άλφα
Τύπωσε Μέρος$(Α$,".")(1), Μέρος$(Α$,".",2) \\ βήτα βήτα
A=Μέρος$(Α$,".") \\ είναι ίδιο με αυτό Μέρος$(Α$,".")()
Τύπωσε A \\ άλφα βήτα
Τύπωσε Array$(A, 0), Array$(A,1) \\ άλφα βήτα
Πίνακας ΑΒ$()
ΑΒ$()=Μέρος$(Α$,".")
Τύπωσε ΑΒ$(0), ΑΒ$(1) \\ άλφα βήτα



\\ works for document
Rem : Document A$
A$=""
OverWrite A$,".", 0:="alfa", 1:="beta"
Print A$ \\ alfa.beta
Print Piece$(A$,".")(0), Piece$(A$,".",1) \\ alfa alfa
Print Piece$(A$,".")(1), Piece$(A$,".",2) \\ beta beta
A=Piece$(A$,".") \\ same as Piece$(A$,".")()
Print A \\ alfa beta
Print Array$(A, 0), Array$(A,1) \\ alfa beta
Dim ab$()
ab$()=Piece$(A$,".")
Print ab$(0), ab$(1) \\ alfa beta