Hi Johann,

I think that is not correct.

In the first place I think I don't need a name property. Only the 'category!

In the second place: (get 'name emp1) will ALWAYS return NIL, because the
function call is incorrect.
It should be: (get emp1 'name)

In my examples this works ok:
: (put emp1 'category 'engineer)
-> engineer
: (get emp1 'category)
-> engineer

Also this works:
: (with emp1
     (prinl (: category)))
engineer
-> engineer

Best,
   Arie

2018-06-10 16:14 GMT+02:00 Johann-Tobias Schäg <[email protected]>:

>
>
> The first problem is that all your employees have no 'name property. ( get
> 'name emp1) -> NIL
> But emp1 -> "Abel"
>
> But there is something else rotten. I can not spot. But try to get (with
> 'emp1 (prinl (: name))) running first
>
> Regarding your 'This question:
>  https://software-lab.de/doc/refT.html#This
>
>
> *Von:* [email protected]
> *Gesendet:* 10. Juni 2018 2:20 nachm.
> *An:* [email protected]
> *Antworten:* [email protected]
> *Betreff:* Stuck at PLEAC example
>
> Hi Alex,
>
> I am now working on the "Arrays" section at "Find First Element that
> passes a Test".
>
> Your example:
>    (with
>       (find
>          '((This) (== 'engineer (: category)))
>          Employees )
>       (prinl "Highest paid engineer is: " (: name))  )
>
> This won't work of course, so I created a few things:
>    : (setq emp1 "Abel" emp2 "Jones" emp3 "Millner" emp4 "Noles" emp5
> "Zaphod")
>    -> "Zaphod"
>
>    : (put emp1 'category 'engineer)
>    -> engineer
>
>    : (put emp2 'category 'cook)
>    -> cook
>
>    : (put emp3 'category 'teacher)
>    -> teacher
>
>    : (put emp4 'category 'engineer)
>    -> engineer
>
>    : (put emp5 'category 'vicar)
>    -> vicar
>
>    : (setq Employees '(emp1 emp2 emp3 emp4 emp5))
>    -> (emp1 emp2 emp3 emp4 emp5)
>
> I guessed that this list Employees would be OK to feed 'find';
> however, from the ref docs of 'with' I do not grasp how I should get this
> to work.
>
> Also, the function used by 'find' has a formal parameter named This. Is
> this the PicoLisp special variable, or just a name for a formal parameter?
>
> Please give a complete example!
>
> What I experience now is exactly why I think that there should be more and
> better approachable docs.
>
> I think the reference should either be expanded by more comprehensive
> examples + explanations, or otherwise I'll try and do that later in the
> Wiki where I started the new section (with now only the 'de' example).
>
> I feel you, because it is all "in your head", but B2B a.k.a. brain-2-brain
> is not yet possible, regrettably :)
>
> Seeing all this stuff i am convinced that PicoLisp also could have been
> named YottaLisp, because of the sheer amount of possibilities hidden below
> the surface :)
>
> Best,
>    Arie
>

Reply via email to