Sign in to follow this  
Followers 0
monax

Best Syntax with OR

9 posts in this topic

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



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

#3 ·  Posted (edited)

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

Edited by water
1 person likes this

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

Thanks that make it clearer :D

Share this post


Link to post
Share on other sites

:)


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

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 (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

Share this post


Link to post
Share on other sites

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  
Followers 0