The ternary syntax is really my only real gripe with python design – putting the conditional BETWEEN the true and false values feels so very messy to me.
I think it’s just what you’re used to. Imo it really matters that it’s keywords and not operator symbols - it’s meant to read closer to natural language. I prefer the c version when it’s ? and :, but I like them this way round when it’s if and else.
It certainly has its issues. I find that the things people have trouble with are the things I tend to like about it. Of course, reading it later is a problem sometimes. :)
Wait until you learn that postfix conditionals are syntactic sugar and the compiler* turns that line into the equivalent of $debugandprint(debug message), putting the conditional in first place, a lot like the ternary operator.
* Perl compiles to bytecode before running.
The ternary operator itself isn’t implemented in terms of and (and or) but it could be.
The ternary syntax is really my only real gripe with python design – putting the conditional BETWEEN the true and false values feels so very messy to me.
Eh, reads pretty naturally to me. That said,
(like I lisp)
Lisps makes more sense to me though
(if condition a b)
VS
a if condition else b
I was more talking about
(+ a b)
and such.Oh, (you) (really) (like) (Lisp)? (That’s) (great!)
(is great (oh (really (like-p lisp you))))
At least you guys have ternary syntax cries in kotlin.
It’s really special to not have ternary, but have Elvis.
I think it’s just what you’re used to. Imo it really matters that it’s keywords and not operator symbols - it’s meant to read closer to natural language. I prefer the c version when it’s ? and :, but I like them this way round when it’s if and else.
It’s kinda natural to me having used Perl a lot.
That’s not quite the argument you might think it is
Argument?
You know, the stuff in @_
heheh. I wasn’t really making an argument though
The joke was that Perl is a clusterfuck
It certainly has its issues. I find that the things people have trouble with are the things I tend to like about it. Of course, reading it later is a problem sometimes. :)
Write only language!
I still reach for it sometimes.
The point of code is to be read by other humans, not just computers.
You clearly haven’t used Perl a lot. Perl’s ternary looks like:
$even = $num % 2 ? “nay” : “yay”;
Incidentally, it is also the same as PHP’s, but mainly because PHP stole it.
perl -e 'print "fart\n" if 1;'
You do get the if in the middle of stuff though in the form print(debug message) if $debug
Wait until you learn that postfix conditionals are syntactic sugar and the compiler* turns that line into the equivalent of
$debug and print(debug message)
, putting the conditional in first place, a lot like the ternary operator.* Perl compiles to bytecode before running.
The ternary operator itself isn’t implemented in terms of
and
(andor
) but it could be.Luckily I don’t need to read or write bytecode and all that matters to me is the syntax