Project

General

Profile

Actions

Feature #9487

closed

Add #dup?, #dup! and #clone? and #clone!

Added by atlas (Atlas Prime) about 10 years ago. Updated about 10 years ago.

Status:
Rejected
Target version:
[ruby-core:60511]

Description

Some objects can't use #dup or #clone b/c they are singleton, like Integer. So an error is raised if one tries.

> 5.dup
TypeError: can't dup Fixnum

It would helpful if there was an easy way to check if this is so on an arbitrary object without having to go through the overhead of rescuing the TypeError. e.g.

if o.dup?
  x = o.dup
  ...

Even more convenient in some cases would not having to worry about it at all. If the object can't be duplicated or cloned then just return the object itself.

> 5.dup!
5

The same for #clone with #clone? and #clone!.

Updated by matz (Yukihiro Matsumoto) about 10 years ago

  • Status changed from Open to Rejected
  • Assignee set to matz (Yukihiro Matsumoto)

Nice try. But dup! and clone! are not following the naming convention (adding ! to more dangerous version).
We are waiting for other naming candidates.

Matz.

Actions

Also available in: Atom PDF

Like0
Like0