三項演算子が (ちょっと) 羨ましい Delphi ユーザーの集い
注: "三項演算子っぽいもの" について
System.Math 名前空間と System.StrUtils 名前空間にオーバーロードされた IfThen() という VB の Iif() と類似の関数があります。
[System.Math.IfThen (DocWiki)]
http://docwiki.embarcadero.com/Libraries/ja/System.Math.IfThen
[System.StrUtils.IfThen (DocWiki)]
http://docwiki.embarcadero.com/Libraries/ja/System.StrUtils.IfThen
これらは関数であり演算子ではありません。

@owlsperspective Delphi だとC的な三項演算子が無いので ? を使うのは難しそうなので、やっぱりコロン演算子ですかねー?
2015-07-23 10:45:36> だいぶ前から言ってます!!
http://qc.embarcadero.com/wc/qcmain.aspx?d=120838

@pik @owlsperspective if/elseやcaseが文ではなく式になって値返してくれるだけでもうれしいんだけどなぁと思ってます。
2015-07-23 12:42:25
@ktz_alias @owlsperspective そういえば System.Math と System.StrUtils に IfThen がありますが、これ IfThen<T> になっていれば良いのでは…
2015-07-23 12:49:04
@pik @ktz_alias Delphiのジェネリクスにはテンプレート関数(みたいなもの)がなくてrecord型のclass functionにしなきゃいけないのがちょっとアレですね
2015-07-23 13:00:16
@owlsperspective @pik "Exit(if hoo then 'OK' else 'NG');"とか書きたい!書きたいー! #駄々っ子
2015-07-23 13:55:46
@ktz_alias @pik こんなんでいかがですか? gist.github.com/owlsperspectiv…
2015-07-23 14:01:40
@owlsperspective @ktz_alias 僕もちょっと作っていたけど、&IF でやってくるとは!さすがです!!
2015-07-23 14:03:26
@sagiri_ameno @owlsperspective @ktz_alias ローカル関数で作ってすぐ破棄みたいなときには役立ちますよね。
2015-07-23 14:10:56
@pik @sagiri_ameno @ktz_alias ARCのこともあるので、むしろブロックローカル変数がほしいです(何度目だ、その主張)
2015-07-23 14:12:44
@owlsperspective @sagiri_ameno @ktz_alias ここで @ht_deko 氏の PrivateVar.inc ががが!
2015-07-23 14:13:26> PrivateVar.inc
数日前に私が出したクイズの事です。
http://ht-deko.com/delphiforum/?vasthtmlaction=viewtopic&t=1628.0

@ktz_alias @owlsperspective ヤッター!スゴい気持ち悪いの出来たよー! " IfExp<String>(1 > 0) + 'true' - 'false' " こんな風に掛けるよー! gist.github.com/freeonterminat…
2015-07-23 15:30:46
@pik @owlsperspective ThenElseは、一方しか必要ないのに、先に両方評価する必要があってムダだから、コールバックにしよう(提案)
2015-07-23 15:38:49