http://qs321.pair.com?node_id=1148843


in reply to Re^2: Tree Structure Challenge
in thread Tree Structure Challenge

How should I run your solution to get the result for the following?

What should the result look like?

Not saying that I'm getting ...

Huh?

dd( deeef( qw/ Dog Fox Wolf / ) ); __END__ ( ["Dog", "Canine", "Mammal"], ["Fox", "Canine", "Mammal"], ["Wolf", "Canine", "Mammal"], )

Replies are listed 'Best First'.
Re^4: Tree Structure Challenge
by choroba (Cardinal) on Nov 30, 2015 at 00:19 UTC
    What should the result look like?
    ( [], [ 'Dog', 'Wolf' ] )

    Huh?
    I know how to run your code. It doesn't follow the specification: you haven't implemented a static method.
    ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,

      I know how to run your code.

      Its right there in the code

      It doesn't follow the specification: you haven't implemented a static method.

      I didn't implement a static method because its just extra indirection -- the spec contains enough indirection on its own, it doesn't benefit from extra confusion

      Speaking of which, you say it should return

      ( [], [ 'Dog', 'Wolf' ] )

      That is kind of a surprise compared to your original sample data and sample ooutput ... as it stands my "solution" isn't there yet

        That is kind of a surprise
        English is not my first language, so I might be imprecise. But, if you build the two trees as described in "The Task", they look like this:
        T1: Mammal - Canine - Dog - Fox - Wolf T2: Mammal - Canine - Fox

        To get from T1 to T2, you have to remove Dog and Wolf.

        it doesn't benefit from extra confusion
        Well, the tree structure was part of the class originally. I'll add that to the specification.

        Update: I won't. It's not needed in the solution. You should use the documented API, i.e. Parent and get_leaves.

        ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,