Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

ActiveSupport | Object#duplicable?

概要

Object#duplicable?

詳細

Object#duplicable?について

Object#duplicable?

dupが可能かどうかを返却する。
Rubyのオブジェクトのうち、一部のオブジェクトはシングルトンになっているため
dupが不可能になっている。

例えば、数字の1や論理値のtrueなど。
このような値の場合はduplicable?がfalseを返します

サンプル

# encoding: utf-8
require "active_support/core_ext/object/duplicable"
require "tbpgr_utils"

class Hoge;end
[1, 1.1, true, false, "test", Hoge.new].each {|v|print_eval "v", binding; print " | ";puts_eval "v.duplicable?", binding}

※print_evalについてはTbpgrUtilsのGitHub参照(ver0.0.7以降)
https://github.com/tbpgr/tbpgr_utils
本日リリース予定

出力

v # => 1 | v.duplicable? # => false
v # => 1.1 | v.duplicable? # => false
v # => true | v.duplicable? # => false
v # => false | v.duplicable? # => false
v # => "test" | v.duplicable? # => true
v # => #<Hoge:0x2904378> | v.duplicable? # => true