Why don't you provide the example of what you're trying to do. Or if you want to search strings, then don't make it an array type.
I'm afraid I'm translating something wrong again. Actually, I gave an example of exactly how I wanted to get the result. It completely satisfies me. But as questions and clarifications arise, I also have options for what I would like to see. So, in the first case, I wanted to find a complete match of the search phrase to some array element, assuming that one of the array elements completely matches the search phrase, even if this phrase is a large string with many punctuation marks. And my last search option solved this problem. In fact, Rex's version is the same, only he demonstrated that my version can work without parentheses.
But I don't quite understand what it means:
if you want to search strings, then don't make it an array type.
Let's say I want to find a phrase/word that is only part of a phrase in some array element.
:local months [ :toarray "jan, feb, febr"];
:put [:find $months "fe"]
And this interests me especially since you said:
The :find with an array, correctly, returns "nil", if what your seaching does not exactly match one of the items in the array.
Because I thought "nil" is returned on any mismatch. But you sounded like there was a difference in whether it partially did not coincide or did not coincide completely. Again, perhaps these are all just translation errors.
If we return to my tasks and your examples, then perhaps you meant that I consider a record of the form
:local months [ :toarray "jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec"];
as a string, and I want to find the string
I want to assure you that I understand that the first thing is not a string, but array elements. And that the search is performed strictly within each element, so if I do
:put [:typeof [:find $months "jan, f"]]
Then we will get "nil"