JuliaLang/julia

ternary operator with "return" gives a parse error

Open

#9 180 ouverte le 27 nov. 2014

Voir sur GitHub
 (5 commentaires) (0 réactions) (0 assignés)Julia (5 773 forks)batch import
help wantedparser

Métriques du dépôt

Stars
 (48 709 stars)
Métriques de merge PR
 (Merge moyen 20j 6h) (157 PRs mergées en 30 j)

Description

As discussed here: https://groups.google.com/forum/?fromgroups=#!topic/julia-users/9Ps2xYWSWMQ julia parses ternary operator with return not correct (or at least not intuitive).

function bar(x)
    x > 10 ? return(0) : nothing
    2
end

and

function bar(x)
    x > 10 ? return 0 : nothing
    2
end

result in "ERROR: syntax: colon expected in "?" expression".

The versions below work as expected.

function foo(x)
    x <= 10 ? nothing : return(0)
    2
end

or that

function foo(x)
    x > 10 ? (return 0) : nothing
    2
end

Guide contributeur