💎
Ruby Type Profiler を使ってみる
https://github.com/mame/ruby-type-profiler に書いているとおりにすすめる
git clone https://github.com/mame/ruby-type-profiler.git
cd ruby-type-profiler
git submodule init
git submodule update
bundle install
ruby exe/type-profiler target.rb
target.rb のとろは自分でプログラムを書きます。
# test.rb
def foo(x)
if x > 10
x.to_s
else
nil
end
end
foo(42)
と書いた場合は下記のように実行します。
ruby exe/type-profiler test.rb
私の環境では ``require': cannot load such file -- rbs (LoadError)` が出たのでインストールしたら実行できました。
gem install rbs
submodule でインストールしているはずなのでチェックしたら下記で最新版での実行ができました。
追記: PRでREADMEの更新をマージしていただきました。
cd rbs && bundle install && bundle exec rake parser && cd ..
現状smoke以下に確認用のファイルがあるようです。
bundle exec ruby exe/type-profiler smoke/alias.rb
# Classes
class Object
def foo : (Integer) -> Integer
def bar : (String) -> String
end
class Test
def baz : (Integer) -> Integer
def qux : (String) -> String
end
Discussion