Opened 19 months ago

Last modified 9 months ago

#3953 assigned Bug

missing bracket error when using ternary operator inside array definition — at Initial Version

Reported by: AspirinJunkie Owned by:
Milestone: Component: AutoIt
Version: 3.3.16.0 Severity: None
Keywords: ternary bracket Cc:

Description

When using a ternary operator inside a direct array definition, an error is thrown at runtime when the if branch is applied:

; no error thrown
Global $A = [ 1 > 2  ? 1 : 2 ] ; else path
Global $A = [ 2 < 1  ? 2 : 1 ] ; else path
Global $A = [ 1 <> 1 ? 1 : 2 ] ; else path
Global $A = [ False  ? 1 : 2 ] ; else path

; error "Missing right bracket ')' in expression."
Global $A = [ 2 > 1 ? 2 : 1 ] ; if path
Global $A = [ 1 < 2 ? 1 : 2 ] ; if path
Global $A = [ 1 = 1 ? 1 : 2 ] ; if path
Global $A = [ True  ? 1 : 2 ] ; if path

A workaround would be to add a parenthesis around the expression.
Nevertheless, there seems to be a parsing problem here.

Change History (0)

Note: See TracTickets for help on using tickets.