新しいものを表示

で、Linqでそんな変な場面ってあるの?><;

スレッドを表示

Pascal一族も別にfunctionで副作用を起こさないなんて意味は持ってないかも>< そうじゃなく、procedureって必ず・・・副作用?><; なんていうの?><;参照透過性の崩壊?><;
なんかそんな感じの関数型の言語が避けまくるような物を踏んづけてる場所だよって言う意味を結果的に持ってない?><;(そうじゃない場所では踏んで無いということではなく><;)

オレンジの説明が微妙におかしいのかもしれないけど、hogeに何も起きないhogeのprocedureってなに?><;

orange さんがブースト

function と proceduce を使い分けるとき、 function が副作用を含まないという意味なのか何らかの値を返却するという意味なのかは人によって異なる

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一族の方言なのかわからない・・・><

古いものを表示
:realtek:

思考の /dev/null