Crystal 中的通用 NamedTuple

Generic NamedTuple in Crystal

有没有办法将 NamedTuple 用作泛型?类似于:

alias JsonCommand = NamedTuple(T){
  name : String
  data : T
}

command : JsonCommand(String) = { name: "some command", data: "some data" }

没有

语言中存在命名元组的主要原因是为了实现命名参数。

对于所有其他用例,建议改用结构,它可以与泛型一起使用。

record JSONCommand(T), name : String, data : T

command = JSONCommand.new(name: "some command", data: "some data")