[Pas2js] My 1st type helper
Mattias Gaertner
nc-gaertnma at netcologne.de
Thu Feb 28 23:25:28 CET 2019
On Wed, 27 Feb 2019 06:07:35 -0700 (MST)
warleyalex via Pas2js <pas2js at lists.freepascal.org> wrote:
> -------------------------------------------
> type
> TFloatHelper = type helper for Float
> const NPI = 3.141592;
> function ToStr: String;
> end;
>
> function TFloatHelper.ToStr: String;
> begin
> Result:= FloatToStr(Self);
> end;
>
> ------------------------
> this syntax
> // TFloatHelper = helper for Float
>
> // hum, doesn't work for me, I had to include the keyword type
Correct.
In $mode delphi you can use 'record helper for Float'.
> How to use the float helper function ToStr?
>
> -----------------------
> var
> ReturnValue : Float;
> begin
> ReturnValue := 2.71;
> console.log(ReturnValue * ReturnValue.NPI);
> //8.51371432
> // console.log((ReturnValue * ReturnValue.NPI).ToStr);
FPC and Delphi do not allow that. I don't know why. pas2js does.
> //8.51371432 does not work for me
> // console.log((ReturnValue * TFloatHelper.NPI).ToStr);
Helpers are not full types. They extend types:
(ReturnValue * Float.NPI).ToStr
> //8.51371432 does not work for me
> // console.log(TFloatHelper.ToStr(ReturnValue *
> Float.NPI)); //8.51371432 does not work for me
Good.
> // console.log((ReturnValue *
> ReturnValue.NPI).ToStr ); //8.51371432 does not work for me
Isn't that same as above?
Mattias
>
>
>
>
> --
> Sent from: http://pas2js.38893.n8.nabble.com/
> _______________________________________________
> Pas2js maillist - Pas2js at lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/pas2js
More information about the Pas2js
mailing list