From: arne@vajhoej.dk   
      
   On 8/21/2025 10:58 AM, Dave Froble wrote:   
   > On 8/20/2025 11:11 AM, Chris Townley wrote:   
   >> On 20/08/2025 16:03, Dan Cross wrote:   
   >>> In article <1082lks$3nmtt$2@dont-email.me>,   
   >>> Chris Townley wrote:   
   >>>> Interestingly I have just come across an old bit of DEC Basic code:   
   >>>>   
   >>>> REPORT.ONLY = W.S4 = "R" ! Global flag   
   >>>>   
   >>>> I know what it does, but I would wrapped the knuckles of any programmer   
   >>>> who did that on my shift!   
   >>>   
   >>> Not knowing DEC BASIC, am I correct in guessing that this   
   >>> assigns the boolean result of comparing `W.S4` with the string   
   >>> "R" to `REPORT.ONLY`?   
   >>   
   >> Correct, but I would have surrounded the comparison with brackets, or   
   >> used an IF   
   >> statement.   
      
   > That statement could make a person think for a while. Not a bad thing,   
   > being able to understand something like that. However, I've always been   
   > a big fan of clarity, so go ahead and wack some knuckles.   
      
   Brackets would have been good.   
      
   But I suspect that a VMS Basic developer would have   
   much less problems with it than non VMS Basic developers.   
      
   I would say that the two aspects that can puzzle people   
   are:   
   1) VMS Basic using = for both assignment and equal comparison,   
    while most other languages use different symbols (= and ==,   
    := and =, = and .eq., ...)   
   2) Some popular languages allow:   
    a = b = x   
    as shortcut for:   
    b = x   
    a = b   
      
   But they only apply to non VMS Basic developers.   
      
   Arne   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|