- 名前:osyo
- Twitter : @pink_bangbi
- github : osyo-manga
- ブログ : Secret Garden(Instrumental)
- 趣味で Ruby にパッチを投げたり bugs.ruby で気になったチケットをブログにまとめたりしてる
- Ruby で一番好きな機能は Refinements
- 最近 AST から Ruby のコードを復元する記事や Ruby 基礎文法最速マスターって記事を書いたので気になる人は読んでみてね
- Ruby 3.0 Advent Calendar 2020 やってます
- 型情報を .rbs ファイルという別ファイルで定義する
- Ruby 3.0 では標準で型チェックを行うような機能は入らない
- Ruby のコードから .rbs ファイルを自動生成するツールが入る
- Steep という外部ツールを使って型チェックできる
# Steepfile
target :app do
check "./"
signature "./"
library "set", "pathname"
end
class User
attr_reader :name, :age
def initialize(name:, age:)
@name = name
@age = age
end
end
User.new(name: "homu", age: "14")
# Classes
class User
attr_reader name: String
attr_reader age: Integer
def initialize: (name: String, age: Integer) -> Integer
end
$ steep check