Παράδειγμα με το πώς δουλεύουμε τα ονόματα συναρτήσεων-πινάκων. Ένα α(10) μπορεί να είναι πίνακας, συνάρτηση ή ρουτίνα (δείτε το B}
Όλα τα αποτελέσματα βγαίνουν στο 100
Πρέπει να γράψουμε τα παρακάτω σε ένα τμήμα έστω ALFA αλλά όχι Α γιατί έχουμε το τμήμα Α και αυτό δεν γίνεται (δεν καλεί η Μ2000 τμήμα με το ίδιο όνομα, δεν αφήνει στα τμήματα να έχουν αναδρομή, στην κανονική κλήση, όπως όταν γράφουμε απλά το όνομα)
Στο τέλος είναι το αντικείμενο Μ, το οποίο δημιουργούμε από τη κλάση All. Και αυτό έχει τρεις συναρτήσεις, οι δυο λάμδα!
(Use Module Alfa { include lines of code here } and then type Alfa to execute, or write all in a gsb file, all.gsb - a text file - and loaded with load all. We can edit in folder using Edit "all.gsb" and then load it : Use New to erase previous loaded modules. Use Clear to clear variables. Use Flush to empty Value's Stack- stack to pass parammeters)
Class All {
p=10
Function a {=number*.p}
b=lambda p ->number*p
c=lambda p ->{
k=p/2
=number*k*2
}
}
Module A {
Dim a(100)
a(10)=100
Print a(10)
Print Array("a",10)
}
Module B {
a(10)
Gosub a(10) \\ gosub is optional
Sub a(x)
Print x*10
End Sub
}
Module C {
\\ def is a macro for a function like in D
Def a(x)=x*10
Print a(10)
}
Module D {
Function a {
Read x
=x*10
}
Print a(10) \\ 100
Print Function("a",10)
}
Module E {
Let p=10
a=Lambda p ->Number*p
p=1000
Print a(10) \\ 100
Dim a(10)
a(2)=a
\\ arrays have priority over functions
Print a(2)(10) \\ 100
Print a(@ 10) \\ just get priority to function a()
}
\\ call A then B...until E
A : B : C : D : E
\\ M is an object (Group)
M=all()
Print M.A(10), M.B(10), M.C(10) \\ 100, 100, 100
Όλα τα αποτελέσματα βγαίνουν στο 100
Πρέπει να γράψουμε τα παρακάτω σε ένα τμήμα έστω ALFA αλλά όχι Α γιατί έχουμε το τμήμα Α και αυτό δεν γίνεται (δεν καλεί η Μ2000 τμήμα με το ίδιο όνομα, δεν αφήνει στα τμήματα να έχουν αναδρομή, στην κανονική κλήση, όπως όταν γράφουμε απλά το όνομα)
Στο τέλος είναι το αντικείμενο Μ, το οποίο δημιουργούμε από τη κλάση All. Και αυτό έχει τρεις συναρτήσεις, οι δυο λάμδα!
(Use Module Alfa { include lines of code here } and then type Alfa to execute, or write all in a gsb file, all.gsb - a text file - and loaded with load all. We can edit in folder using Edit "all.gsb" and then load it : Use New to erase previous loaded modules. Use Clear to clear variables. Use Flush to empty Value's Stack- stack to pass parammeters)
Class All {
p=10
Function a {=number*.p}
b=lambda p ->number*p
c=lambda p ->{
k=p/2
=number*k*2
}
}
Module A {
Dim a(100)
a(10)=100
Print a(10)
Print Array("a",10)
}
Module B {
a(10)
Gosub a(10) \\ gosub is optional
Sub a(x)
Print x*10
End Sub
}
Module C {
\\ def is a macro for a function like in D
Def a(x)=x*10
Print a(10)
}
Module D {
Function a {
Read x
=x*10
}
Print a(10) \\ 100
Print Function("a",10)
}
Module E {
Let p=10
a=Lambda p ->Number*p
p=1000
Print a(10) \\ 100
Dim a(10)
a(2)=a
\\ arrays have priority over functions
Print a(2)(10) \\ 100
Print a(@ 10) \\ just get priority to function a()
}
\\ call A then B...until E
A : B : C : D : E
\\ M is an object (Group)
M=all()
Print M.A(10), M.B(10), M.C(10) \\ 100, 100, 100
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου
You can feel free to write any suggestion, or idea on the subject.