0

我主要需要这个来记录我需要传入任意参数(整数浮点数、对象)的地方。

一种解决方案是写

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 和对象的通用数组。所以甚至不确定如何传递可变参数。也许我可以将它们装箱,但如果没有自动装箱,它又会很尴尬。

对于这个简单的用例,什么是好的解决方案?

4

1 回答 1

0

只需使用 Typescript 样式的模板字符串。

log (`Message ${i} and ${f}.`)

Assemblyscript 将自动生成 toString() 和字符串连接语句。

  1. 简洁明了
  2. 更具表现力的日志,而不是将所有论点放在最后。
  3. 没有尴尬的函数调用、可变参数等。
于 2022-02-18T17:21:37.557 回答