[haXe] RE: Class Constructors and Return Types

James Jackson james at vdev.co.uk
Wed Jan 3 12:59:22 CET 2007


 

Hi Nicolas, 

 

Sorry about my last message formatting :),

I am just getting into HaXe, which by the way Nicolas I think is fantastic
:).  And I have notice something rather strange I wanted to check to  see if
this was has been missed by you when you wrote the complier as a possible
error.  If you create a class in haXe for example: let  us create a
television class and a Application test harness class: 

 

 

 

class Application{

            

     static function main(){

             var myTelevision:Television = new Television();     

            trace("active: " + myTelevision.active);

            trace("channel: " + myTelevision.channel);

     }

 

}

 

 class Television {

    

     public var channel : Int;

     public var active : Bool;

 

     public function new():Void{

            channel = 1;

            active = false;     

     }

 

}

 

When this class is compiled it return’s no error’s and if we trace out the
channel field we get 1 and the same if we trace out the active field we get
false;  Now if give the constructor method a return type like a Boolean as
below:

class Television {

    

     public var channel : Int;

     public var active : Bool;

 

     public function new():Bool{

            channel = 1;

            active = false;     

     }

 

}

 

The HaXe complier will output the following error:  “Application.hx:17:
lines 17-20 : Bool should be Void”.  Which is correct as we have not
specified a  return statement; and that with constructors as far as I am
aware are not allowed to return anything. But if we actually add a return
statement to the  constructor method like below: 

 

 

class Television {

    

     public var channel : Int;

     public var active : Bool;

 

     public function new():Bool{

            channel = 1;

            active = false;  

            return active;   

     }

 

}

 

It is simply ignored and does not cause a compile time error, I know it is
not urgent, and I want to check that you think the same as me and that it
should  cause an compile time error as in ActionScript which errors as: “A
constructor may not return a value.”

 

Your thoughts would be most appreciated :) 

 

James 

 

 

 

 

 

 


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.16.3/614 - Release Date: 02/01/2007
14:58



--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.16.3/614 - Release Date: 02/01/2007
14:58



-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.16.3/614 - Release Date: 02/01/2007
14:58
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.motion-twin.com/pipermail/haxe/attachments/20070103/2e14dfb5/attachment-0001.htm


More information about the Haxe mailing list