如何在 AssemblyScript 中编写 printf() 函数?
How do I write a printf() function in AssemblyScript?
我主要需要这个来记录我需要传入任意参数(整数浮点数、对象)的地方。
一个解决方案是写
let i:i32 = 1;
let f:f32 = 1.1;
log ("Message "+i.toString()+" "+f.toString())
写起来很笨拙和冗长。
还可以有多个日志功能,又是尴尬
log_i (msg:string, i:i32);
log_i2 (msg:string, i:i32, i2:i32);
log_f (msg:string, f:f32);
etc
您似乎不能拥有同时包含 i32、f32 和对象的通用数组。所以甚至不确定如何传入可变参数。也许我可以装箱,但没有自动装箱又很尴尬。
对于这个简单的用例,什么是好的解决方案?
只需使用 Typescript 样式模板字符串。
log (`Message ${i} and ${f}.`)
Assemblyscript 将自动生成 toString() 和字符串连接语句。
- 简洁明了
- 更具表现力的日志,而不是将所有参数放在最后。
- 没有笨拙的函数调用、可变参数等
我主要需要这个来记录我需要传入任意参数(整数浮点数、对象)的地方。
一个解决方案是写
let i:i32 = 1;
let f:f32 = 1.1;
log ("Message "+i.toString()+" "+f.toString())
写起来很笨拙和冗长。
还可以有多个日志功能,又是尴尬
log_i (msg:string, i:i32);
log_i2 (msg:string, i:i32, i2:i32);
log_f (msg:string, f:f32);
etc
您似乎不能拥有同时包含 i32、f32 和对象的通用数组。所以甚至不确定如何传入可变参数。也许我可以装箱,但没有自动装箱又很尴尬。
对于这个简单的用例,什么是好的解决方案?
只需使用 Typescript 样式模板字符串。
log (`Message ${i} and ${f}.`)
Assemblyscript 将自动生成 toString() 和字符串连接语句。
- 简洁明了
- 更具表现力的日志,而不是将所有参数放在最后。
- 没有笨拙的函数调用、可变参数等