新しいものを表示

hoge.fuga();
hoge.piyo();
で、fuga();が本来void fuga();でPascalでprocedureとするものであるのであれば、それはhogeに「何らかの操作をする」であって、hogeを加工した複製(例えば集合であるhogeの部分集合を返す)みたいな意味は持たないよね?><
そういう意味を持つのであればそれはprocedureになるはずは無く必ずfunctionになるんだから><

ていうか、説明正しいかわかんないけど、procedureである事=副作用がある?><そのオブジェクト等の状態が変化する(させる)(可能性がある)と言うことになるんじゃないの・・・?>< そこで無加工の集合を返す(?><)みたいな表現になるのはまずくない?><

Linqほとんどわからんだけど、Linqに手続きに相当するキーワード(?)ってあるの・・・?><

もしかして、
hoge.fuga();
hoge.piyo();

hoge.fuga().piyo();
みたいに書きたいってこと?><;

orange さんがブースト

というのも、たとえば
foo.set_bar(bar()).set_baz(baz());
みたいな式を書いたとき、 bar() と baz() の評価順序って定められてない気がするんですが、どうでしたっけ

スレッドを表示
orange さんがブースト

C# / Delphi人的にはそんな事して何がうれしいのかさっぱりわからない・・・><

Pascalがわりと『そのまんま書く』って文化なのも影響してそう?><

orange さんがブースト

@[email protected] やっぱり不明な参照先を示すポインターを示す予約語があると便利なんやね……

アンダース・ヘルスバーグはDelphiでPascalの仕様どおりfunctionとprocedureをわけたの後悔してC# ではわけるのやめたってどっかで読んだかも><(都市伝説かもしれない><;)

orange さんがブースト

procedure hoge begin
....
end

function fuga begin
...
end

って書くわね<Pascal

orange さんがブースト

そもそも関数と手続きを同じ構文で書こうとしているのが頂けない

orange さんがブースト

「戻り値のない関数」って凄い矛盾したこと言ってるよね

Cで言う所のvoid*に相当するDelphi一族(FreePascal含む)にあるPointerって名前の標準の(?)型(型が不明なポインタを扱う時の型)、ISO 7185 :1990斜め読みしたけどそれらしき記述無いっぽいからたぶんPascalの規格上あるものじゃなくボーランド系の方言なのかな?><

Pascalだとどうなってたっけ?><と思ってぐぐったら、Delphi一族(Free Pascalとか)の場合はPointerってそのまんまの名前の標準の型になるらしいけど、Pascalそのものの仕様なのかDelphi一族の方言なのかわからない・・・><

void*って番地かも?><(?)

orange さんがブースト

これは差があるという話であって void * が虚無の描いてある紙に喩えられるということではないぞ

スレッドを表示
orange さんがブースト

void と void* は、「虚無」と「虚無が描いてある紙」くらいの差があるよ

orange さんがブースト

void *型の関数でも return 必要なん

古いものを表示
:realtek:

思考の /dev/null