Opened 19 months ago
Last modified 9 months ago
#3953 assigned Bug
missing bracket error when using ternary operator inside array definition — at Version 3
Reported by: | AspirinJunkie | Owned by: | Jpm |
---|---|---|---|
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.
Change History (3)
comment:1 Changed 19 months ago by Jos
comment:2 Changed 19 months ago by Jpm
- Owner set to Jpm
- Status changed from new to assigned
Thanks
Fix sent to Jon for next beta
comment:3 Changed 19 months ago by mLipok
- Description modified (diff)
Note: See
TracTickets for help on using
tickets.
Yep, that is why this comment is in the helpfile:
"