Author |
Topic: Object Class library - CLASSLIB (Read 278 times) |
|
Andy Parkes
Developer
member is offline


Gender: 
Posts: 25
|
 |
Re: Object Class library - CLASSLIB
« Reply #18 on: Mar 7th, 2014, 11:57am » |
|
Hi folks,
I have made another change to CLASSLIBA that is possibly worth mentioning:
http://wiggio.com/yui/folder/stream_file.php?doc_key=ck73Bdku6hyAO+SzuM5KN0kYaKtjKAlqhvXG7mwovhQ=
The change allows arrays to be passed as arguments to methods (as is normal for other functions and procedures). For example, the following code does not work with CLASSLIB:
Code:
INSTALL @lib$ + "CLASSLIB"
DIM Class{method1, method2}
PROC_class(Class{})
PROC_new(Obj{},Class{})
PROC(Obj.method1)
PROC_discard(Obj{})
END
DEF Class.method1
LOCAL a%(), A%
DIM a%(10)
FOR A%=1 TO 10
a%(A%) = A%
NEXT
PROC(Class.method2)(a%())
ENDPROC
DEF Class.method2 (a%())
LOCAL A%
FOR A%=1 TO DIM(a%(),1)
PRINT a%(A%)
NEXT
ENDPROC
I have also added a tiny bit more syntactic-sugar, but you can easily delete anything you find unnecessary.
Thanks
Andy
|
|
Logged
|
|
|
|
Andy Parkes
Developer
member is offline


Gender: 
Posts: 25
|
 |
Re: Object Class library - CLASSLIB
« Reply #19 on: Mar 7th, 2014, 12:08pm » |
|
Hi folks,
I found a bug immediately after uploading, so have deleted CLASSLIBA for the time being, and will upload it again later after its fixed.
Thanks
Andy
|
|
Logged
|
|
|
|
admin
Administrator
member is offline


Posts: 1145
|
 |
Re: Object Class library - CLASSLIB
« Reply #20 on: Mar 7th, 2014, 1:32pm » |
|
on Mar 7th, 2014, 11:57am, Andy Parkes wrote:| The change allows arrays to be passed as arguments to methods (as is normal for other functions and procedures). |
|
In case you thought otherwise, the inability to accept array parameters is a bug, not an intentional 'feature' of CLASSLIB! Clearly it needs to be rectified in the 'official' library, rather than being treated as an 'extension'.
I have therefore corrected CLASSLIB.BBC to accept arrays as formal parameters of methods. Version 0.95 may be downloaded from here.
Richard.
|
|
Logged
|
|
|
|
Andy Parkes
Developer
member is offline


Gender: 
Posts: 25
|
 |
Re: Object Class library - CLASSLIB
« Reply #21 on: Mar 7th, 2014, 3:25pm » |
|
Here is CLASSLIBA with it's spoonful syntactic-sugar:
http://wiggio.com/yui/folder/stream_file.php?doc_key=phUocicEhoLWSL0X5QClkwa8dRM+l0mRNT8+YQV1wfc=
Before uploading, I solved the issue with the same method, only implementing a FOR loop. Before that my failed attempt used INSTR thinking that I could achieve better performance, but it created some delicate situations. Now having now seen your solution, I have copied it as its more elegant, and it keeps CLASSLIBA fundamentally identical to CLASSLIB.
Many Thanks
Andy
|
|
Logged
|
|
|
|
|