在我和我的团队正在开发的应用程序中,我们大量使用 Ruby 哈希作为数据传输对象 (DTO)。另外,目前我们还想尝试一下RBS和Steep的结合,看看是否会给开发过程带来明显的好处。不幸的是,我似乎找不到一种方法来声明哈希参数的严格模式。让我给你举个例子:
假设我们有以下 Ruby 代码:
module Foo
def some_func(args)
x, y, z = args.values_at(:x, :y, :z)
# do something with the params above
end
end
因此,我想创建一个
*.rbs
文件来描述上面 args
哈希的结构。这可能吗?
类似的事情在 TypeScript 中很容易做到,哈希表也经常使用:
type Args = {
x: number,
y: string,
z: Array<number>
}
function some_func(args: Args): void;