side-effects

    0

    1答えて

    Clojure Quilライブラリでアルゴリズムを理解することに深刻な問題があります。私は機能的なミドルウェアモードでthisのようなネットワーク/フロッキングパターンのいくつかの図を作ろうとしてきました。私の質問は、任意の点を線で他の点に接続するためにQuildで入れ子になった "forループ"を作成する方法です。その違いは、1-> 2 3-> 4 ...などに接続された1組の点と、1-> 2

    0

    1答えて

    私は、純粋なコードと純粋でないコードとを区別するためにIOが使用されることを理解します。また、私はIOが参照透過性を持つことを認識しています。 IOについての1つのことは、まだ私にはやや不明です。つまり、IO間には何も悪いことが起こらないという保証があります。なぜなら、呼び出されたときにすべてが一度に実行されるからです。したがって、この怠け者の合成が最後に呼び出されると、他の並行コードはそれを歪め

    4

    2答えて

    限られた数の値をセットにストリーミングしようとしていますが、制限を適用する前に新しい要素であることを確認する必要があります。たとえば:add()は両方それがコレクションに新しいのかどうかの要素とレポートを追加することができますので、 Set<Integer> destination = ... Set<Integer> source = ... source.stream() .f

    2

    2答えて

    ReSharperは私がこれに似ていたforeachループをリファクタリングしました。私は、リストに保存されている異なるパラメータ、とデリゲートのBeginInvokeを介して、スレッドの束を起動し、コレクション内のIAsyncResultsを保存したい: var asyncResults = mylist.Select(x => myDelegate.BeginInvoke(x, null, n

    2

    2答えて

    学習目的で単純なサーバー/クライアントチャットプログラムを作成しようとしていますが、私は立ち往生しています。 Leave関数は、渡されたポインタを削除し、ポインタがもはや存在しないように構造体のスライスを更新します。しかし、それは動作していません。 例:Input、Output type Room struct { Name string Visitors []*net.Co

    13

    1答えて

    C++ 03標準の1.9/6は観察可能な行動を定義しています 抽象機械の観察可能な行動を読み込み、揮発性データへの書き込みとライブラリI/O関数の呼び出しのその配列です。 した後、次いで、1.9/7 副作用定義: 、揮発性左辺値(3.10)により指定されたオブジェクトにアクセスするオブジェクトを変更する、ライブラリI/O関数を呼び出す、またはこれらの操作のいずれかを実行する関数を呼び出すことは、す

    3

    1答えて

    Functional Programmingの本では、副作用が次のように書かれています。オブジェクト 例外をスローまたはコンソール又は読み出しユーザ入力にエラー 印刷と停止のフィールドを設定 代わりにデータ構造を変更する 変数を変更 ファイルの読み書き 画面上の描画 私はちょうどそれが副作用である場合、ファイルに読み書きすることなく純粋な機能プログラムを書くことが可能であるかと思っています。はいの

    0

    1答えて

    私はmemoizationでモジュールIを作りたいと思っています。タイプI.tには、実際の複合コンテンツcといくつかの変更可能なプロパティ(たとえば、mutable is_cool)が含まれています。モジュールは、変更可能なプロパティが使用されている理由です、高価なことができます特性(例えば、is_cool)を、計算して取得する機能を外部の提供: (*in i.ml *) module Cont

    4

    4答えて

    ocamlに問題があります。 私はそれを呼び出し、カウンター番号と私のvargen文字列を連結し、この新しい文字列を返すたびに私のカウンターをインクリメントする関数を作りたいと思います。 let (counter : int ref) = ref 0;; let (vargen : string) = "_t";; let tmp = incr counter;ref (vargen^stri

    5

    5答えて

    ハッシュからキー値のペアを非破壊で削除する方法はありますか?あなたは original_hash = {:foo => :bar} new_hash = original_hash new_hash = new_hash.reject{|key, _| key == :foo} または original_hash = {:foo => :bar} new_hash = original_