aspl-lang/aspl

aspl: add (inline) `if` expressions/a ternary operator

開放

#38 建立於 2026年7月16日

 (0 則留言) (0 個反應) (0 位負責人)C (6 個分叉)auto 404
enhancementhelp wanted

倉庫指標

星標
 (30 顆星)
PR 合併指標
 (30 天內沒有已合併 PR)

描述

Feature idea

There is currently no clean way to conditionally assign/select values inside a single expression in ASPL, leading to a lot of boilerplate code like temporary or wrongly-typed variables. See this code, which is taken from the ASPL compiler, for an example:

var string? mainOutFile = null
// ...
if(Options:targetOs == "android"){
    mainOutFile = tempFile
}else{
    // ...
    mainOutFile = exeFile
}

Possible solutions/implementations

An if expression, analogous to if statements, or a ternary operator, which is just a different notation for the same thing.

Alternatives considered

Match expressions (see #37) are the more general solution to this problem but also unnecessary clutter for just a simple binary condition, so additional if expressions are still worth it, imo.

Additional context

No response

Contributing guidelines

  • I agree to follow this project's contributing guidelines

貢獻者指南