# Best Syntax with OR

## Recommended Posts

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 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 on other sites

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

Edited by water
• 1

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:

##### Share on other sites

Thanks that make it clearer

##### 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:

##### Share on other sites

Case 1, 7 .. 79

>

Case 1, 7 to 79

OS: Win10-1709 - 64bit - German, AutoIt Version: 3.3.14.2, AutoIt Editor: SciTE, Website: http://www.funk.eu, My unsolved Questions: Get default Window Size and Position, Rotate display by 270 degrees, Get Systray Icons, ...

##### 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

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:

##### Share on other sites

Oh, I see, did not read the OPs question properly, sorry  ...

```For \$ii = 1 To 81
If Not Mod(\$ii - 1, 6) Then
ConsoleWrite("+" & @TAB & \$ii & @CRLF)
Else
ConsoleWrite("-" & @TAB & \$ii & @CRLF)
EndIf
Next```
• 1

OS: Win10-1709 - 64bit - German, AutoIt Version: 3.3.14.2, AutoIt Editor: SciTE, Website: http://www.funk.eu, My unsolved Questions: Get default Window Size and Position, Rotate display by 270 degrees, Get Systray Icons, ...

##### Share on other sites

I didnt know about the Mod function before, thats perfect for the job
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

## Create an account

Register a new account

×

• Wiki

• Back

• Git