Jump to content
Sign in to follow this  
monax

Best Syntax with OR

Recommended Posts

monax

Hi, what is the best practice to write the next code in autoit (or any language)?:

for $ii = 1 To 81
   
   ;1+6*0 , 1+6*1, 1+6*2, 1+6*3, ...
   If $ii = 1 or $ii = 7 or $ii = 13 or $ii = 19 or $ii = 25 or $ii = 31 or $ii = 37 or $ii = 43 _
      or $ii = 49 or $ii = 55 or $ii = 61 or $ii = 67 or $ii = 73 or $ii = 79 Then
   EndIf
   
   ;any numbers
   If $ii = 1 or $ii = 24 or $ii = 37 or $ii = 76 Then
   EndIf
   
Next

I would like to know if is possible to use an array to simplify the sintax.

Something that looks like this

$arr=[1,7,13,19,25]

for $ii = 1 To 81
   
   If $ii = $arr Then
   EndIf
   
Next

Of course I could use a 2nd loop to do this:

$arr=[1,7,13,19,25]

for $ii = 1 To 81
   
   for $jj = 0 To 4
      If $ii = $arr[$jj] Then
      EndIf
   Next
   
Next

But I want to know which is the clearest and simplest way to write it. :)

Share this post


Link to post
Share on other sites
monax

I forgot to ask explicitly if there is a better way to write each case:

1) 1+6*0 , 1+6*1, 1+6*2, 1+6*3, ...

2) any numbers

Share this post


Link to post
Share on other sites
water

Switch $ii
    Case 1, 7 .. 79
        ; Statements
    Case Else
        ; Statements
EndSwitch

Edited by water
  • Like 1

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2018-09-01 - Version 1.3.4.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites
monax

Thanks that make it clearer :D

Share this post


Link to post
Share on other sites
water

:)


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2018-09-01 - Version 1.3.4.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites
KaFu
water

The OP doesn't want all numbers from 7 to 79, just the multiples of 6.

I was just to lazy to type all numbers :ermm:


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2018-09-01 - Version 1.3.4.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites
KaFu
monax

I didnt know about the Mod function before, thats perfect for the job :D
Anyway since the numbers for switch syntax are not a lot (in this case), I will use switch, but Mod will be a nice function for other things.

Thanks ^_^

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×