問題タブ [undef]
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.
perl - undef 値を参照するときに Perl を停止するにはどうすればよいですか?
undef 値を参照するときに、単に警告するのではなく、Perl を停止してスタック トレースを表示するにはどうすればよいですか? use strict;
この目的には十分ではないようです。
c++ - C++ での値の定義を確認する
私は C++ で作業しており、スカラー値 (たとえば a double
) が「定義」されているかどうかを知る必要があります。必要に応じて、「定義を解除」できる必要もあります。
C++で可能ですか?
ありがとう
perl - Perlでprintfから未定義の値をレンダリングするにはどうすればよいですか?
フォーマットされた数値が通常レンダリングされる状況で未定義の値を示すためのエレガントな方法を探しています。小さな例を作成します。手始めに、もちろんこれを使用することはできません:
...3回目の反復で「警告の使用」が「初期化されていない値の使用...」に釘付けになるためです。したがって、次のステップは次のようなものです。
ちなみに、新しい5.10'//'演算子は好きですか。しかし、それは私が望んでいることでもありません。$ sの値はゼロではなく、未定義だからです。私が本当に欲しいのはこのようなものです:
...しかし、これにより、3番目の値で「引数 ""は数値ではありません...」という問題が発生するため、できません。
これは私の質問の玄関口に私をもたらします。もちろん、私が発行するすべての数値の定義性をチェックし、まったく異なる非%fベースのprintf形式の文字列を作成するコードを書くことはできますが、まあ、...うん。
誰かがこのタイプの要件に対処するための良い方法を定義しましたか?
perl - Perlで未定義の値に対してリテラル「null」を出力するにはどうすればよいですか?
「describe table」クエリを実行していますが、「default」列に「null」の値が返されます。ただし、データベースから HTML テーブルに値を出力しようとすると、「null」が出力されません。それは常に空白です。
これは、データベースからデータを保存する方法です。
配列の内容を@nulls
出力すると、「null」のリテラル値が出力されません。常に空白です。この問題を克服する方法はありますか?
perl - このPerlフラグメントで「undef」が検出されないのはなぜですか?
undef値のため、2番目の'if'ステートメントのブロックが入力されると予想しますが、ログには入力されていないことが示されています。
ログファイルは次のことを示しています。
どんなアイデアもありがたく受け入れました。
編集:申し訳ありませんが、基本的なフローを表示するためにコードを編集しました。もう少し校正すべきだった。
- getcmd()に$ retを追加して、戻り値をキャプチャするために常に使用されるグローバル変数である$retの現在の値を出力するロギング関数で何が起こるかをシミュレートしました。
- 私はログメッセージを切り詰めて、余分な「戻る」を逃しました
提案とコメントをありがとう。ログのタイムスタンプに6秒の違いがあることに気づかなかったので、実行シーケンスが当初の予想とは異なっていることについては正しいと思います。
戻ってもう一度見てみます。「月曜日に稼働しなければならない」プロジェクトのために物事を終わらせようとして13時間の日を過ごした後、他の誰かの「平均的な」Perlを見ようとすると、それが得られると思います。
私はコードを書かず、単にそれを継承しました。このコードは、「厳しい警告や厳格さは必要ない」と考える数人の人々によって書かれました。
800行のPerlとたくさんの「ifs」を想像してみてください。elseステートメントはありません。防御的なコーディングはまったくありません!8-O
もう一度あなたの助けに感謝します。
乾杯、
perl - Perlでは、undefを手動で0に変換する優雅な方法はありますか?
私はこの形の断片を持っています:
3つ以上の変数が関係しているため、現実はさらに厄介です。
私が本当に書きたいのはこれです:
undefは正しく0と評価されますが、ほとんどすべての実行で次の警告が表示されます。
これらのメッセージを消すための最良の方法は何ですか?
注意:関連する場合は、「厳密に使用」および「警告を使用」します。
perl - perlで複数の値を割り当てる、undefの問題
perl サブルーチンからいくつかの値を返し、それらをまとめて割り当てたいと考えています。
これは時々機能しますが、値の1つが次の場合は機能しませんundef
:
Perl は undef 要素を無視して、値を連結しているようです。Python や OCaml のような代入の構造化は、私が期待しているものです。
複数の変数に戻り値を割り当てる簡単な方法はありますか?
編集:構造化データを渡すために私が現在使用している方法は次のとおりです。@a 配列は、MkV が提案したように、参照渡しする必要があります。
doxygen - doxygenで#undefを文書化する良い方法
私は現在、テストのためにハードウェアの一部の機能をオフにするcファイルにいくつかの#defineを持っています。ただし、定義されていない場合は、doxygenを使用して文書化したいと思います。
例えば:
これは正常に機能します。
#defineを#undefに変更すると、doxygenで警告が表示され、doxygenで生成された出力には表示されません。この#defineが定義されているか、定義されていないかを文書化したいと思います。
どうすればdoxygenに#undefを文書化させることができますか?
c++ - #undefC++のスコープ
#undef
マクロの再定義に
使用することについて質問があります。いくつかの#define-dマクロを含む
ファイルがあります。global.h
これらのマクロを使用するコードでは、マクロが保持する値が十分にジェネリックではないことがわかりました。マクロを再定義して、より一般的なものにしたいと思います。これを行うために、次のコードスニペットを作成しました。
私の質問は次のとおりです
。この方法で#undefを使用すると、すべてのソースファイルでマクロが再定義されますか、それとも上記のコード行が記述されている関数に対してローカルですか?#undefおよび#define演算子の範囲は何ですか?
すべてのソースファイルでマクロ定義が確実に変更されるようにするには、(#define-d自体であるファイル内のマクロを変更する以外に)何ができますか?
ありがとう、
スリラム
c - この C プリプロセッサ ステートメントの意味が少しわかりません。
まず、混乱を避けるために実際の名前を一般的な名前に切り替えたコードを次に示します。
これは、 Cプログラミング言語の複雑さに慣れる方法としてフォークを検討し、検討しているソース コードの一部です。したがって、訓練を受けていない私の目には、これは何もしていないように見えます。私の脳には、何かを定義してからすぐに定義を解除すると、互いに相殺されるように見えます。
明らかに、私は自分が間違っていることに気づきます。しかし、なぜ私は間違っているのですか?