Re: My thoughts on multiple topics over the past few days

loro
 

Hi Joy,

Joy wrote:
Forgive me for lumping several topics together. I wouldn't have time
As a programmer who has had to learn
many languages over the years, I hope I don't sound (fill in any one of
several words) when I offer my advice which is to read the manual. Several
times if you can. It's certainly not the most detailed or clear at times,
but it does answer many questions I'm seeing, gives information and prevents
surprise bugs because it is such a flexible language and loose on the
syntax checking. And there are so many commands, I've often found some I
didn't know about because of the information overload.
True. I think the problem is that one don't always understand fully what the rather terse explanations mean (don't get me wrong, I actually like terse). Then, when one reads again later it's crystal clear - because one now have learnt more and that helps one's understanding tremendously. But it's easy to think it isn't needed to read that basic stuff again.


The manual does state
New since NoteTab 4.8: conditional commands now accept a command statement
instead of a label.

---

Although it seems to work without quotes (I haven't tested), the syntax
for IsAlpha requires quotes around the argument. Not using quotes may cause
it not to work correctly in certain cases.

---

The IF statement cannot use logical arguments such as AND and OR.although
there are ways I've written about several times to emulate this feature.
Ask if you are interested and cannot find it.
Duh. Point proved and taken. ;-o)


A regexp way to replace the last comma in a string.
Lotta's way is easier to debug and understand. This way is shorter and for
educational purposes because it was only recently I discovered regexp is
permitted in StrReplace. (I still don't think well in regexp so I'm sure
this can be improved upon)

^!Set %axel%=Goethe,Mann,Hesse
; ^!Set %pos%=^$StrPosRight(",";"^%axel%";false)$
; ^!Set %axel%=^$StrDelete("^%axel%";^%pos%;1)$
; ^!Set %axel%=^$StrInsert("&";"^%axel%";^%pos%)$
^!Prompt ^$StrReplace(",([^,]+)ZZZ";"\&$1";"^%axel%ZZZ";R)$
This I like. It's good to show different ways to accomplish what's asked for. Maybe even more so when a RexEx solution is given to someone who doesn't do RexEx. That person won't be able to make changes to the code himself. I've always liked when both options are given.

Lotta




--
Computer says no.

Join Clips@Notetab.groups.io to automatically receive all group messages.