slightly reorder VarSet#deep_dup to optimize - #92
This commit is contained in:
parent
fa14102ba5
commit
a4dec210ae
@ -194,16 +194,16 @@ module Rscons
|
||||
#
|
||||
# @return [Object] Deep copied value.
|
||||
def deep_dup(obj)
|
||||
obj_class = obj.class
|
||||
if obj_class == Hash
|
||||
case obj
|
||||
when String
|
||||
obj.dup
|
||||
when Array
|
||||
obj.map { |v| deep_dup(v) }
|
||||
when Hash
|
||||
obj.reduce({}) do |result, (k, v)|
|
||||
result[k] = deep_dup(v)
|
||||
result
|
||||
end
|
||||
elsif obj_class == Array
|
||||
obj.map { |v| deep_dup(v) }
|
||||
elsif obj_class == String
|
||||
obj.dup
|
||||
else
|
||||
obj
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user