問題タブ [variable-assignment]
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.
c - char 関数から文字列を返す方法
関数への入力が無効な場合 (つまり、身長または体重のいずれかがゼロより小さい場合) に、関数 getCategory() が "invalid" という単語を出力する代わりに (つまり、 printf を使用する代わりに)、 "invalid" を返すようにします。助けてください:
c++ - `i = ++ i + 1`が不特定の動作をするのはなぜですか?
次のC++標準ISO/IEC 14882:2003(E)の引用(セクション5、パラグラフ4)を検討してください。
特に記載のない限り、個々の演算子のオペランドと個々の式の部分式の評価の順序、および副作用が発生する順序は指定されていません。53)前のシーケンスポイントと次のシーケンスポイントの間で、スカラーオブジェクトは、式の評価によって、格納されている値を最大で1回変更する必要があります。さらに、前の値は、保存される値を決定するためにのみアクセスされるものとします。この段落の要件は、完全な式の部分式の許容される順序ごとに満たされるものとします。それ以外の場合、動作は定義されていません。[例:
-例を終了]
i = ++i + 1
の未定義の値を与えることに驚いたi
。次のような場合に備えていないコンパイラの実装を知っている人はい2
ますか?
operator=
問題は、 2つの引数があるということです。最初のものは常にi
参照です。この場合、評価の順序は重要ではありません。C++標準のタブー以外は問題ありません。
引数の順序が評価にとって重要であるような場合は考慮しないでください。たとえば、++i + i
は明らかに未定義です。私の場合だけ考えてください
i = ++i + 1
。
なぜC++標準はそのような式を禁止しているのですか?
c - 配列代入における C * 演算子の意味
この行はどういう意味ですか? 私は数年間Cをやっていません。括弧で操作を実行してから、intの結果をポインターにしますか??
javascript - Javascriptの代入演算子を使用して、あるオブジェクトを別のオブジェクトと等しく設定する
私はCのバックグラウンドからjavascriptに来ています。javascriptで、代入演算子を使用して1つのオブジェクトを別のオブジェクトに代入すると、値が1つから別のオブジェクトにコピーされますか、それとも両方が同じデータを指すようになりますか?または、この場合、代入演算子は何かをしますか?
上記の例では、pnt2.xは8に等しいのでしょうか、それとも4に等しいのでしょうか、それとも0に等しいのでしょうか。
はい、私はこれを自分でテストできることを認識しています。コミュニティが答えを出すのを待つ間、私はそれを行います。ただし、私の質問への回答が、この1つの例に回答するだけで一歩進んで、javascriptオブジェクトの動作といくつかのベストプラクティスに光を当てることを期待しています。
フォローアップ
の質問:答えは、参照がコピーされているということのようです。pnt2とpnt1が同じデータを指すようになりました。値がコピーされるようにオブジェクトを設定することは可能ですか?これは通常、JavaScriptでどのように実行されますか?明らかに、このオブジェクトをコピーする必要があるたびに、各属性を個別に設定する必要はありません。
linux - Linux bash:複数の変数の割り当て
Linuxのbashには、PHPの次のコードに似たものが存在します。
つまり、1つの文で、対応する値を3つの異なる変数に割り当てます。
myBashFuntion
文字列「qwertasdfgzxcvb」をstdoutに書き込むbash関数があるとしましょう。次のようなことは可能ですか?
もちろん、等号の左側の部分は有効な構文ではありません。私は私が求めているものを説明しようとしているだけです。
ただし、機能するのは次のとおりです。
ただし、インデックス付き配列は、単純な変数名ほど説明的ではありません。
しかし、私はただすることができました:
しかし、これらは私が避けたいと思う3つのステートメントです。
ショートカット構文を探しています。出来ますか?
python - Pythonインデックスに基づくリストの操作
CSVファイルにデータがあります。列の1つに人の名前がリストされ、その列に続くすべての行は、次の人の名前が表示されるまで、その人に関するいくつかの説明的な属性を提供します。行に名前または属性があるかどうかは、LTYPE列でわかります。その列のNは、その行のNAME値が実際には名前であることを示し、その列のAは、NAME列のデータが属性であることを示します。 。属性はコード化されており、600K行のデータがあります。これがサンプルです。データはグループ化され、各グループ化の結果はRIDが1にリセットされることで示されます。
以下を作成したい:
LTYPEのインデックス位置を取得することから始めました
したがって、あるリストで名前として分類された各行のリストインデックスと、別のリストで属性として分類された各行のリストインデックスがあります。次に、次のように各観測に名前を付けるのは簡単です。
属性のリストを決定して各人に割り当てるのに苦労しています。
まず、一緒に属する属性を組み合わせる必要があるので、これを行いました。
私のアプローチの問題の1つは、ループが追加される前にループが終了するため、最後のグループをnewAttributeリストに追加する必要があることです。したがって、グループ化された属性のリストを取得するには、実行する必要があります
しかし、それでも、2つのステップで実行する必要のある属性を追加するためのクリーンな方法を見つけることができないようです。まず、nameIndexの位置をキーとして、属性を値として辞書を作成します
名前の行に属性を入力したら、リストを循環します
次に、キー「TA」が存在するかどうかを再度確認し、その存在を使用してPERSON_ATTRIBUTEキーを設定します。
これについてより明確な考え方が必要であるため、誰かが私にこのコードをクリーンアップするために読むことができるいくつかの関数の方向に私を向けてくれるかどうか疑問に思いました。「TA」キーをドロップする必要があることはわかっていますが、十分なスペースを確保できたと思いました。
c# - 参照の質問: 2 つのオブジェクトが等しいのはいつですか?
Vector クラスがあり、次の単体テストを (nUnit を使用して) テストしていました。
3 行目の最初のテストはパスしますが、5 行目の 2 番目のテストは失敗します。2 行目で代入ステートメントを実行したため、test2 も test1 と同じメモリを指すべきではないでしょうか? 私のVectorはクラスとして定義されているので、参照型です。一方、次のテストはパスします。
new 演算子を使用して新しいオブジェクトを定義すると、古い代入は無効になるということですか? 他の(または正しい - 私が間違っている場合)説明はありますか?
c - これは間違っていますか、それとも何かが足りませんか(int count = 10、x;)
本を読んでいるときにこの例に出くわしましたが、私にはまったく意味がありませんでした。おそらく何かが足りないのですが、カウントに値「10」を割り当ててから、値「x」を割り当てているようです。 int。これが有効な構文であるかどうか疑問に思っています。
本はこれを言います:
変数countとxは、通常の方法で整数変数として宣言されます。次の行で、変数intPtrは「intへのポインタ」タイプであると宣言されています。2行の宣言を1行にまとめることができることに注意してください。
これがその元のプログラムです:
c - 配列型-関数パラメーターとしての割り当て/使用の規則
配列を関数に渡す必要がある場合、関数の次のすべての宣言が機能するようです
このため:
しかし、配列を別の配列に割り当てると、失敗します
では、なぜ関数の引数として渡された配列は問題ないのに、単純な割り当てのrhsで使用されるのは間違っているのでしょうか。