Function Signatur definieren?
Übersicht BlitzMax, BlitzMax NG Allgemein
UNZBetreff: Function Signatur definieren? |
Di, Mai 21, 2013 20:49 Antworten mit Zitat |
|
---|---|---|
Hi,
ich glaube zwar nicht, dass das geht, aber vllt. irre ich mich ja Ich möchte Function Pointer abstrahieren. Z.B. Code: [AUSKLAPPEN] Function abc(callback(a:Int, b:Float)) callback(1,5) End Function Function xyz(callback(a:Int, b:Float)) callback(1,5) End Function Die Signatur (d.h. (a:Int, b:Float)) möchte ich gerne nur einmal definieren und dann referenzieren. Code: [AUSKLAPPEN] Signature callbackSig=(a:Int, b:Float) Function abc(callback:callbackSig) callback(1,5) End Function Function xyz(callback:callbackSig) callback(1,5) End Function Die Syntax ist natürlich Mist, aber ich denke, man sieht, was gemeint ist Sowas ist mit BMax nicht möglicht, oder? |
||
Das muss besser als perfekt! |
ZEVS |
Mi, Mai 22, 2013 16:32 Antworten mit Zitat |
|
---|---|---|
Das wäre ein Typen-Alias und ist in BlitzMax nicht in der Form möglich. Es ist allerdings sehr gut möglich, diese Abstraktion mit objektorientierter Programmierung durchzuführen. BlitzMax: [AUSKLAPPEN] Type TCallback Wenn man aber OOP benutzt, sollte man das vielleicht konsequenter tun und statt Funktionspointern Interfaces oder (in BlitzMax) abstrakte Klassen benutzen. ZEVS |
||
Thunder |
Mi, Mai 22, 2013 16:32 Antworten mit Zitat |
|
---|---|---|
Man sieht natürlich den Sinn dahinter, aber soweit ich informiert bin, gibt es das gar nicht. Mich persönlich stört es ja bereits, dass man Bezeichner angeben muss (a:Int, b:Float) statt einfach (:Int, :Float) oder so. Denn die Namen interessieren ja niemanden.
Jedenfalls ist mir das Syntaxelement, das du suchst, noch nie untergekommen (also weder Dokumentation noch fremde Quelltexte). BlitzMax ist halt teilweise mühsam, auch wenn es andererseits vieles vereinfacht |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
Übersicht BlitzMax, BlitzMax NG Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group