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 合并指标
 (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

贡献者指南