# Coding Challenge

Alex Tweedly alex at tweedly.net
Fri Mar 11 06:02:57 EST 2011

```Sorry Malte - I didn't handle > relationships, only = and <.
That part of the script should be changed to be
>    -- now normalize the direct relationships
>    put empty into gRelate
>    repeat for each line  L in tData
>       if word 2 of L = "<" then
>          put sample(word 1 of L) into t1
>          put sample(word 3 of L) into t2
>          put t1 && t2 & CR after tUnequal
>       else if word 2 of L = "<" then
>          put sample(word 1 of L) into t1
>          put sample(word 3 of L) into t2
>          put t2 && t1 & CR after tUnequal
>       end if
>    end repeat

> function testValidRelationships pPerson1,pPerson2
>
>
> which returns a triplet like
>
> false,true,false
>
> -- can not be older,can be younger, can not be the same age.
>
> Do you think your script can be expanded to check this?
Yes, though I would prefer a different function / result.  You have "can
not be older" - but that means either "is younger" or  "is same" and you
know which it is.

function getRelationship p1, p2
-- returns one of
-- older (p1 is older than p2)
-- younger (p1 is younger)
-- same
-- unknown  (not enough info to tell anything about their relationship)

Here it is ...
> function getRelationship p1, p2
>    -- returns one of
>    -- older (p1 is older than p2)
>    -- younger (p1 is younger)
>    -- same
>    put sample(p1) into p1
>    put sample(p2) into p2
>    if p1 = p2 then return "same"
>    if p2 is among the lines of gOlder[p1] then return "younger"
>    if p1 is among the lines of gOlder[p2] then return "older"
>    return "unknown"
> end getRelationship

-- Alex.

On 11/03/2011 09:31, Malte Brill wrote:
> Hi Alex,
>
> thanks for taking the time to look into this. (and not late to the party at all)
>
> If I provide this data to your Script:
>
> Steffen>  Malte
> Sascha<  Malte
> Fritz = Sascha
>
> I get back
>
> Fritz----->
> Malte
>
> in the field. Which is true, but it leaves steffen untouched in this case. I guess what I would be looking for is something like
>
> function testValidRelationships pPerson1,pPerson2
>
>
> which returns a triplet like
>
> false,true,false
>
> -- can not be older,can be younger, can not be the same age.
>
> Do you think your script can be expanded to check this?
>
> Thanks a heap again for taking the time to look into this.
>
> Cheers,
>
> Malte
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>

```