Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^3: Converting Hashes to Objects

by bliako (Monsignor)
on May 20, 2020 at 10:04 UTC ( [id://11116972]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Converting Hashes to Objects
in thread Converting Hashes to Objects

I was thinking that perhaps it would be easier to auto-implement these methods if you have the object as a hash, which is your input in this case.

My point was that it is an advantageous start you have there when you are given the object as a hash. So, some things, otherwise tedious, could be auto-implemented. For example, equals() a hash or equals() an object are equivalent but the hash can be cleaner and simpler. Sure objects are hashes eventually but you never know what trickery you will find in there. Same with dumping an object versus dumping a hash.

Replies are listed 'Best First'.
Re^4: Converting Hashes to Objects
by haukex (Archbishop) on May 20, 2020 at 10:23 UTC
    So, some things, otherwise tedious, could be auto-implemented. For example, equals() a hash or equals() an object are equivalent but the hash can be cleaner and simpler.

    Ah, I see what you mean. Well, I do think that some of the classic issues of comparing data structures still come up. For example, are these two hashes the same?

    my $x = { foo => { bar => "quz" } }; my $y = { foo => { bar => "quz" } };

    The answer might appear obvious, but note that $x->{foo} ne $y->{foo}! So I think it's still up to the implementor to decide how to determine whether their objects are the same. For simple recursive data structure comparisons, there's e.g. Data::Compare.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11116972]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (7)
As of 2024-04-23 14:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found