謎's キッチン

謎のひとりごと。Amazon欲しい物リストはこちら: https://www.amazon.co.jp/hz/wishlist/ls/CCPOV7C6JTD2

単項演算子、前置がいいか後置がいいか

主にnewの話。抜けありまくりで荒いメモ書き。間違いもあるかも。
二項演算はCベースで。単項演算はfoo(x)とする。例えばnew Xならfoo = new, x= Xという感じに。
後置の場合も結合の演算子は無しとする。




後置の場合(強い結合。Rubyのnew・D、Java、C、C++などのプロパティ・Delphiのポインタ参照)。

a foo // xが単項
(a+b)foo // xが複数項

前置の場合(強い結合。Javaのnew・C、C++、Dのポインタ参照)。

foo a // xが単項
foo(a+b) // xが複数項

後置の場合(弱い結合)。

a foo // xが単項
a+b foo // xが複数項

前置の場合(弱い結合。C++、Dのnew・Rubyの関数呼び出し)。

foo a // xが単項
foo a+b // xが複数項

問題は前置と後置が入り混ざったとき。なるべく前に戻って書き込まなくてはならない括弧を無くすのと、改変しやすさを維持するにはどうすればいいか。後、使える記号の数が限られてる問題がある。
Dのコミュニティでもポインタやnewの構文などの提案の形で議論(?)されているが、あまり深く突っ込んだものは無いような。
ってことで後で深く考える予定。今日は眠い。