4 ms·
I love me some spread operators and ternary expressions. …mumbles something about prying those from my cold dead hands.
by dfee 5y ago
I love me some spread operators and ternary expressions.
…mumbles something about prying those from my cold dead hands.
- skohan 5y agoYeah I think there's a time and a place for ternaries, but when used correctly they're just so concise. Like if you have super long expressions in your ternaries, or you have a bunch of nested/chained ternaries it can be hard to parse, but in a lot of cases it's so nice to get something onto one line instead of needing an if/else
- ensiferum 5y agoYes in c/++ it also allows you to use const. const foo = bar ? 1 : 2; Without ternary you wouldn't be able to use const specifier on foo.
- mjcohen 5y agoLove the ternary operator in gawk. Here's some extreme examples, from a text formatter I wrote over 20 years ago. It is over 6,000 lines of awk, and I haven't used it in over 15 years. Note: These lines should be split, but many of them are not. How do I do that? I read formatdoc, but that did not help. ; # see where text starts; mut = ((substr($0, lf1-length(lf1str), length(lf1str)) != lf1str) \ ? 1 \ : ((substr($0, lf1, 1) == " " ) \ ? (lf1+1) \ : lf1) \ ); # start of string; --------------------------- # return file and line number with optional text; function filineg(ffilename, ffilerec, fltext) { ; # first version always gives a line number, second does not for line 1; return (ffilename \ (ffilerec == "" ? "" : (":" ffilerec)) \ ((fltext == "") \ ? "" \ : (" in \"" fltext "\"") \ )); } ------------------------------------ outstr[2] = (head \ ( (lnum > 1) \ ? (substr(bigsep, 2, lnum-1) " ") \ : (substr(spaces, 1, lnum)) \ ) \ (header2==""?" ":header2) null("output space if null - 5-20-98") \ substr(bigsep, 1, \ ltocout-lhead-lpn-1 \ -(lheader-lheadchop)-lnum \ -((null_loc > 0) \ ? lnullstring \ : 0 \ ) \ ) " " pn); # parens make it line up; ---------------------- function telldepth(deptxt, dep1, dep2) { ; # change depth from dep1 to dep2; ; # good luck figuring this out in a month!; ; # tell how depth changes; recnumprint("{" deptxt " " \ ((dep1=="") \ ? ((dep2=="") \ ? ("leaves depth as is") \ : ("sets depth " dep2)\ ) \ : ("changes depth " dep1 " to " dep2) \ ) " in " filine() "}"); }
- frosted-flakes 5y agoPrepend each line with two spaces to format it like code.