Hi Alex,
> I would do it this way:
>
> (setq Employees '(emp1 emp2 emp3 emp4 emp5))
OK. You don't use the values as names, but the properties, because you'd
like to refer to (: name) in the 'prinl'.
Got it.
> (mapc put
> Employees
> '(name .)
> '("Abel" "Jones" "Millner" "Noles" "Zaphod") )
>
> (mapc put
> Employees
> '(category .)
> '(engineer cook teacher engineer vicar) )
Agreed. Much less elaborate.
>
> (mapc show Employees)
Nice and easy :)
>
> (with
> (find
> '((This) (== 'engineer (: category)))
> Employees )
> (prinl "Highest paid engineer is: " (: name)) )
M
aybe it would more appropriate to change "Highest paid engineer" to
"First engineer found"?
T
he
formal parameter
'This' boggled my mind for a few minutes, but then it made sense :)
Very nice trick indeed!
Thx,
Arie