Ruby RBS:声明哈希模式

问题描述 投票:0回答:0

在我和我的团队正在开发的应用程序中,我们大量使用 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;
ruby schema hashtable rbs steep
© www.soinside.com 2019 - 2024. All rights reserved.