diary

I like Hatena Star with a text selection.

2020-06-14

rubyリポジトリでmake helpするとhelpが出るということをk0kubunさんに教えてもらった。便利。

そして、make cheatsheetの存在をmameさんに教えてもらった。便利。 https://github.com/ruby/ruby/blob/master/doc/make_cheatsheet.md


github.com

DelegateClassで作られたクラスを継承したクラスでinstance_methodsinstance_methodがうまく動かない問題を直した。 むずかしかった。


github.com

rbs prototype runtimeではメソッドの戻り値がリテラルただ1つだけの時にそれっぽい型を吐くようになっていたのだけど、文が複数あると無条件でuntypedになっていた。

# どう見てもこれはStringを返すメソッドだけど、
# 生成される型定義では戻り値がuntypedになってしまう。
def foo
  something
  "foo"
end

これは比較的簡単に直せることに気がついたので、直した。

具体的には、return文に渡る式とメソッド本文の最後の文のunion typeが返るようにした。


github.com

RBS_foo?in?のようなメソッド名がsyntax errorになっていたので直した。

_foo?はinterface名 + ?がメソッド名になれていなかったこと、in?はキーワード+?がメソッド名になれていなかったことが原因だった。


github.com

Active Supportの型を生成して、rbs validateが通るところまで持っていった。


github.com

hash.rbsの定義が悪いっぽくて、Enumerableextensionが作れないっぽいのでIssueを立てた。