「オペランド」を含む日記 RSS

はてなキーワード: オペランドとは

2020-03-29

[]演算子はだいたい関数

引数を取り結果を返すという意味演算子はだいたい関数と同じものである

演算子オペレータ)は被演算子オペランド)をとって式を構成する。

「1 + 1」「5 - 3」「 1 == 3」等の式はplus(1,1) minus(5,3) equals(1,3)といった関数の言い換えである理解できる。

値を返すものが式である

引数をとり値を返すもの関数である

式の中の特別もの関数だと言える。

Wikipediaによると、関数写像であるという。

写像英訳mapという。

プログラミングにおいてマップマッピングとは

まあだいたい「〇〇は□□と対応してる」という関係を指す。

連想配列とか。

まり関数マップであり、

連想配列マップであり、

まり連想配列関数である。だいたいのところ。

2015-11-16

.NET Framework ( C# ) LINQ の Count

Where やら Select などのメソッドのうしろメソッドチェーンでくっつける Count は、プロパティではなくて、メソッドなのだね。

なので Count() と記述する必要がある。でないと

エラー 演算子 '==' を 'メソッド グループ' と 'int' 型のオペランド適用することはできません。

といったようなエラーが表示される。

2012-07-05

http://anond.hatelabo.jp/20120705091019

いや、再帰は使わんと思うぞ・・・Stack Over Flow対策があるから自前で再帰は展開するぞ。

「Cならswitchテーブルを使った再帰関数で実現する必要がある」に対するレスなんだろうけど、飽くまでも「C以外の、継承オーバーライド機能がある言語では例題とほぼ同じ形で実装できるのに対してその機能がない言語では『関数内でswitchをして値ごとにdispatch、その後更に再帰』という原始的かつ全てのロジックを詰め込むせいでひとつ関数の行数が膨大になる問題を孕んでいる」という意味しか持たない。

確かにTopCoder再帰を使ったら撃墜される可能性がある事には同意だけど、今回の例ではプロコンの外側での事であってスタックオーバーフローしたなら例外をキャッチして後処理を行えば良い。

更に

問題を解くためにバイナリーツリーを使うことはあっても、バイナリーツリーを使う問題は出てこないわなぁ。

C++なら、setmapもあるし。

バイナリツリーを自前で構築して式を表現する例題(expression tree)と、set and mapは用途が違う。

setmapは本来、順序が定義できる要素をキーにしてそれそのものを保持するか、或いはそれに伴う値を結びつけて保持しておくもの

例題のexpression tree構造は「(必ずしもオペランドがふたつとは限らない)式の木を表現して、オーバーライドされたevalで式全体の評価を行う」もの

から目的が違う以上

あと 加算するか減産するかはアルゴリズムが持つものであって、木そのものが持つわけじゃない。

は成り立たない主張であるし、

全般的にその木構造なんかへんやろ。例題なのはわかるけど、それにしても、なんか変。

即興で書いたので変である事は否定しないとしても

開発言語なんて問題を解く道具であって、文章の綺麗さを競うものではないからなぁ。

C言語等のOOPが導入される前の言語で)綺麗に書く事ができないと問題を提供する側がそもそも「綺麗な解を前提とした問題」を出せない。

 
ログイン ユーザー登録
ようこそ ゲスト さん