2020-01-01から1年間の記事一覧

TIL:CRuby 右代入でのアレコレ

右代入 masterに現在導入されているシンタックスで、その名の通り左から右へと値を代入することができる。例えばこんな感じのコードが書ける。 :hoge => temp # temp に:hoge が代入される Railsなどでメソッドチェーンがかなり長くなった時とかに便利そうと…

Array#both_endの使いどころを考える

はじめに Array#minimaxというメソッドがRuby 2.4から導入されていて、そのメソッドの実装を読んでいた時に思いついたArray#both_endメソッドの実用例についてつらつらと書いてみた記事。 なので、実際にRubyにそういうメソッドがあるわけではない。 実装 /*…

Rubyにパッチを投げてきたアレコレ

はじめに この記事は俺GW頑張ったというGWアドベントカレンダーの5月1日の記事です。 プログラミング言語Rubyにテストの修正やbuiltin対応などでパッチを投げてきた時の知見などを振りかえってみたかったので書いてみた。 やったこと テスト修正関連 そもそ…

RubyのFloat(arg, exception: true)をbuiltinで再実装してみた

はじめに この記事は以前書いた以下の記事で紹介したbuiltinを使ってFloat(arg, exception: true)というメソッドを再定義してみた記事になります。 gamelinks007.hatenablog.com やっていることは前回の記事とおおよそ同じです。前回と異なる点は、特定のク…

Ruby(とC)でRubyを実装してみた(builtinで遊んでみた)

はじめに タイトルにもあるようにRubyのbuiltin(正式名称を知らないので呼び出し方法から拝借)というものを使ってRuby自体をRuby(とC)で実装してみた話です。 内容としてはRuby自体の実装に興味のある方向けの話になります。 builtinって? builtinとはRub…