ruby のプライベートメソッドにアクセスする方法

その名の通りprivateなmethodなので、レシーバーから呼び出せないが、sendを使えば呼ぶことができる。 他にもinstance_evalを使っても呼ぶことができる。

通常のコードでは当然使ってはいけないが、テストなどで重宝する。

class C
  private
  
  def private_method
    "private_method"
  end
end

puts C.new.send(:private_method) # => private_method
puts C.new.instance_eval{ private_method } # => private_method

stackoverflow.com

Rubyのメソッド数

Rubyのメソッド数を調べる方法について、以下のサイトでよくまとまっていたのでメモ。 Array含めすべてのクラスはClassクラスのインスタンスであることを踏まえて、methodsinstance_methodsを考えると 一貫性が見えてくる。

Rubyのメソッドを数えましょう♫ Rubyのメソッドをもう一度、数えましょう♫

Animate.css 機能一覧

Animate.css

CSSアニメーションのフレームワーク Animate.css の一通りの機能を試せるものを作った。 上記のトップページで同じことができるが、セレクトボックスから機能を選ぶのが面倒だったので ラジオボタンにした。

See the Pen move box(with animate.css) by tamoriinu (@yokoyama) on CodePen.

HTML5 inputのrange属性

HTML5のinputタグ、range属性を触る機会があったのでメモ

素の状態

See the Pen input range type by tamoriinu (@yokoyama) on CodePen.

CSSデザインを当てたもの

See the Pen input range type by tamoriinu (@yokoyama) on CodePen.

参考: How To Create Range Sliders

Vue.jsを使ってSVG画像と同期

See the Pen input range type with vue.js by tamoriinu (@yokoyama) on CodePen.

参考: 基礎から学ぶ Vue.js

Rubyのメソッド探索

Rubyがメソッドを探索する流れについて、色々な本やWebサイトをあたってみた。

www.shoeisha.co.jp 最初に読んだのがこの本だったと思う。
第2章 クラス、オブジェクト、モジュール 項目6 Rubyが継承階層をどのように組み立てるかを頭に入れよう がメソッド探索に関わる継承階層について説明している所だが、いまいち頭にはいってこなかった。ただ以下の本、サイトを見てから再読すると違うと思う。言っている内容は同じなのだから当然だが、イメージがしやすくなる。

www.oreilly.co.jp 2章 月曜日:オブジェクトモデル でメソッド探索に関わる説明をしている。くだけた感じでわかりやすく説明してくれる。図解も何度も行われているので非常に理解しやすい。

gihyo.jp Ruby技術者認定試験の対策で買ったが、この本の 第4章 オブジェクト指向 の説明がかなりわかりやすかった。

at-grandpa.hatenablog.jp ここの説明が一番全体を網羅している。個人的には一番わかりやすく腑に落ちた。