問題タブ [mutable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 不変コレクションから可変コレクションへの変換
に変換する最良の方法は何collection.immutable.Set
ですかcollection.mutable.Set
?
f# - F#: let mutable と ref の比較
まず、この質問が重複している可能性があることを認めます。私に知らせて。
可変性が必要な状況での一般的な「ベスト プラクティス」とは何なのか、興味があります。F# はこれに対して 2 つの機能を提供しているようです: let mutable
「ほとんどの」言語で変数のように機能するバインディングと、ref
明示的な逆参照を使用する必要がある参照セル (関数で作成) です。
いずれかが「強制」されるケースが 2つあり<-
ます。したがって、これらのケースは非常に明確ですが、これらのシナリオ以外で独自の可変変数を作成するときに何をすべきか知りたいです。あるスタイルが他のスタイルよりも優れている点は何ですか? (おそらく、実装に関するさらなる洞察が役立つでしょう。)ref
:=
ありがとう!
mutable - XSLT2.0さまざまなループと構造にわたってカウンターと変数を実行する方法
したがって、スコープ外の変数にアクセスできないこと、変数が不変であること、XSLTが機能的であり、必須ではないことなどを知っています。
しかし、グローバルな可変変数では些細なことになるような汎用的なアプローチが必要です(それを言うだけで悪に聞こえます:)。ここに例があります...
また、処理中にいつでもt1やt2などのテンプレートがいくつでも存在する可能性があり、変数を変更して使用するテンプレートが存在する可能性があります。
問題の一部は、値が処理の順序に依存することですが、それは意図的なものであり、それが必要なことです。
私が考えた1つの可能性は、値をパラメーターとしてどこにでも渡すことでした。しかし、問題は、1つのリーフテンプレートでそれを変更する必要があり、その後処理が元に戻ることです...その変更は失われます。テンプレートがパラメータを返す方法がない限り、返されたパラメータを渡すことができますか?汎用の純粋な関数型プログラミング言語を考えると、これを行う方法のようです。再帰的に呼び出しますが、値を「繰り越す」ことができるように、戻り値をさらに呼び出すために使用します。
私はこれが拡張機能を使用して行われるのを見てきました-Javaメソッドなどを呼び出すと、グローバルな可変値を持つことができますが...私は実際にはそのような「チート」をしたくありません。
どんなポインタ、アイデアなども歓迎します。
collections - += Scala 2.7.7 ではスタックに追加します。:+ Scala 2.8.0 では動作しないようです
Scala 2.7.7 を使用すると、これは期待どおりに機能します。
Scala 2.8.0 に変更した後、+= を :+ に置き換える必要があります。ただし、これはスタックに追加されません: java.util.NoSuchElementException: head of empty list.
私は何か基本的なことを見落としていますか?
c++ - const_castなしで*thisを変更するConstメソッド
私が書いているプログラムでは、次のパターンが発生しています。あまり工夫されていないことを願っていますが、const_castなどを使用せずFoo
に、constメソッドでオブジェクトを変更することができます。Foo::Questionable() const
基本的に、Foo
への参照を格納しFooOwner
、その逆も同様です。では、所有者を呼び出すことによりQuestionable()
、Foo
constメソッドでそれ自体を変更することができます。mutate_foo()
質問はコードに従います。
これは定義された動作ですか?Foo::data
可変と宣言する必要がありますか?それとも、これは私が致命的に間違ったことをしている兆候ですか?要求されたときにのみ設定される一種の遅延初期化された「データ」を実装しようとしています。次のコードは警告なしで正常にコンパイルされるため、UBランドにいるので少し緊張しています。
編集:const
on Questionable()は、直接のメンバーをconstにするだけで、オブジェクトによってポイントまたは参照されるオブジェクトは作成しません。これはコードを合法にしますか?Questionable()
、this
がタイプconst Foo*
を持っているという事実と、コールスタックのさらに下にある、FooOwner
を変更するために使用する非定数ポインタを合法的に持っているという事実の間で混乱していますFoo
。Foo
これは、オブジェクトを変更できるかどうかを意味しますか?
編集2:おそらくもっと簡単な例:
c - 引数を収集するための Bison 文法
関数の引数を収集するためのバイソン文法があります。これまでのところは次のとおりです。
Bison で通常の C 配列のように使用できる、固定長のない整数の配列を作成するにはどうすればよいですか?
python - python:groupdict()によって返される辞書の変更
標準ライブラリオブジェクトのメソッドによって返される可変オブジェクトを変更しても安全ですか?
これが1つの特定の例です。しかし、可能であれば一般的な答えを探しています。
このコードは安全ですか?groupdict()を変更することで、オブジェクトmが破損しているのではないかと心配しています(これは後で必要になります)。
これをテストしましたが、その後m.groupdict()を呼び出すと、元の辞書が返されました。しかし、私が知っているすべてのことは、これは実装に依存する可能性があるということです。
java - 可変オブジェクトを持つ Java コレクション
オブジェクトが可変の場合、TreeSet、HashSet、または LinkedHashSet はどのように動作しますか? それらが何らかの意味で機能するとは想像できませんか?
オブジェクトを追加した後に変更した場合。リストの動作は何ですか?
リンクされたリストまたは配列以外の変更可能なオブジェクトのコレクション(ソート/インデックス/などに必要)を処理し、それらを毎回単純に反復処理するためのより良いオプションはありますか?
android - 可変ビットマップへのリソースのロード
私は次のようなリソースからビットマップをロードしています:
私がやりたいのは、drawメソッドでメインキャンバスに描画される前にビットマップにいくつかの変更を加えることです(変更されないときにメインループで多くの描画を繰り返すのは無駄に思えるので)。私は次のようにビットマップに変更を加えています:
だから当然私は例外を得る
それを避けるために、ビットマップのコピーを作成して変更可能にしました
問題を回避しますが、OutOfMemoryExceptionsが発生することがありますが、私が望むことを達成するためのより良い方法を知っていますか?
scala - Scalaで可変ハッシュマップ要素を更新するにはどうすればよいですか?
私はこれに非常に似た関数を書きました:
実際のコードでは、タイプAとBは列挙型であり、Cはケースクラスです。myMutableHashMapは、関数と同じクラス内val
のタイプとして定義されています。scala.collection.mutable.HashMap[(TypeA, TypeB), TypeC]
writeMyEl
Scala(2.8)コンパイラは次のように述べています。
私は何が間違っているのですか?