Modify ↓

#3953 assigned Bug

missing bracket error when using ternary operator or OR operator inside array definition

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

Description (last modified by mLipok)

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.

Attachments (0)

Change History (7)

comment:1 by Jos, on Apr 27, 2023 at 8:22:44 AM

Yep, that is why this comment is in the helpfile:

Remarks
This Conditional operator allows a binary choice to be executed without the overhead of an
If...Else...EndIf structure.

Although not necessary in all cases, it is strongly recommended that the 3 elements are enclosed in parentheses.

"

comment:2 by Jpm, on Apr 27, 2023 at 9:47:46 AM

Owner: set to Jpm
Status: new → assigned

Thanks
Fix sent to Jon for next beta

comment:3 by mLipok, on May 3, 2023 at 11:15:19 PM

Description: modified (diff)

comment:4 by anonymous, on May 31, 2023 at 9:01:43 PM

Info (if this isn't already part of the fix):

Global $a = [1 And 2] ; I'm ok :)
Global $b = [1 Or 2] ; I'm not ok :(

comment:5 by Jpm, on Jun 1, 2023 at 8:55:09 PM

Summary: missing bracket error when using ternary operator inside array definition → missing bracket error when using ternary operator or OR operator inside array definition

Thanks
That's another pb not related with ternary operator

comment:6 by Jpm, on Jun 1, 2023 at 9:55:46 PM

a new fix sent to jon

comment:7 by Jpm, on Feb 20, 2024 at 3:44:23 PM

Owner: changed from Jpm to Jon

Modify Ticket

Action
as assigned The owner will remain Jon.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.