{{(str 1M)}} 生成 {{"1"}}
{{(str {:a 1M})}} 生成 {{"{:a 1M}"}}
后缀丢失,因为 {{str}} 直接调用 {{.toString}}:{{java.lang.BigDecimal}} 对 {{M}} 后缀一无所知。
在使用 map 调用 {{.toString}} 时,它会调用 {{RT.print}} 并递归地调用 {{RT.print}} 为键和值。{{RT.print}} 对 {{java.lang.BigDecimal}} 有一个特殊处理案例,因此它打印后缀。