有人能告诉我如何实施以下内容 ATS中的功能:
fun int2double (x: int): double
谢谢!
答案 0 :(得分:1)
我认为你曾经说过以下是更好的方式......
FirebaseMessaging.getInstance().subscribeToTopic("news");
答案 1 :(得分:0)
It depends on the target language you want to compile to.
If you compile to C, you can just do:
staload
UN = "prelude/SATS/unsafe.sats"
fun int2double(x: int): double = $UN.cast(x)
If you compile to JavaScript, then int2double is already defined.
答案 2 :(得分:0)
如果您正在编译C代码,那么您将不得不使用以下内容:
fun int2double(x:int): double = g0int2float_int_double (x)
这是一个内置函数(有关详细信息,请参阅$ATSHOME/prelude/SATS/float.sats
。)
答案 3 :(得分:0)
通常,人们可以简单地使用目标语言中可用的任何内容来实现所需的功能。例如,假设您在C中具有以下功能:
double int2double_in_c(int x) { return (double)x; }
然后你可以在ATS中声明以下内容:
fun int2double(x: int): double = "mac#int2double_in_c"
对于ATS中对int2double的每次调用,编译器在生成的代码中生成对int2double_in_c的调用。如果你想编译成JS,Python,PHP等,同样适用。