問題タブ [global-variables]

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.

0 投票する
4 に答える
683 参照

php - PHP は変数サンプル内にグローバル変数を配置できますか? $names = $_FILES ["dfile"];

ここにテキストと画像をアップロードするための管理パネルを作成しようとしているのは、html ページです。Html ページは正常に動作しています。壊れているのは php ページです。html は参照用です。

HTMLページafile、bfileなどのフォームに基づいてアップロードされたファイルの名前を変更しようとしています。私はこのphpファイルをさまざまな方法で試しました。大きな IF ステートメントを削除し、アップロード用に 6 つの個別のファイルを作成すると、動作させることができますが、1 つのファイルにすることを望んでいました。

私のelseifステートメントが壊れているのでしょうか?

私はこの php を使って約 1 週間しか遊んでいません。

グローバルで6つの関数を作成しようとすると move_uploaded_file($_FILES["file"]["tmp_name"], $target);、elseifステートメントに配置するよりもうまくいくでしょうか?

これは、作業中の php ページのコピーです

0 投票する
4 に答える
6796 参照

c++ - 共有ライブラリプロジェクト(C ++)のグローバル変数に関する問題

C++共有ライブラリプロジェクトのグローバル変数に問題があります。私のライブラリは、dllとしてだけでなく、標準のg ++​​共有ライブラリ(.so)としても機能する必要があります。私はファイルlibiup_dll.cppとlibiup_dll.hを作成することによってこれを行いました。

私のdllには、関数setloglevel(int)とgeterrormsg()が必要です。すべてのクラスで、グローバル変数errormsgにすべてのエラーメッセージを追加します。この変数は、geterrormsg()関数によって返される必要があります。私はこれを使用して実装しました

libiup_dll.h(outsideおよび#ifdefsなので、グローバルに利用可能である必要があります)に入れてから、

私のクラスの.hファイル(クラスの外、ファイルの上部)

今私は2つの問題があります:

1)ライブラリを使用するg ++でコマンドラインプログラムをコンパイルすると、エラーが発生します

ターゲットの構築:libiup_test呼び出し:GCCC++リンカーg++-L "/ home / hilboll / src / libiup / Release" -L / usr / local / lib -o "libiup_test" ./src/stratcalc/SimpleStratosphericColumnCalculatorTest.o ./src/ interp / SimpleInterpolatorTest.o ./src/Test.o -lgsl -lhdf5 -lhdf5_cpp -lblas -liup /home/hilboll/src/libiup/Release/libiup.so:errormsgへの未定義の参照loglevel' /home/hilboll/src/libiup/Release/libiup.so: undefined reference to'collect2:ldが1つの終了ステータスを返しましたmake :***[libiup_test]エラー1

私のコマンドラインプログラムでは、errormsgやloglevelへの参照はまったくありません。

2)VS2008を使用してWindowsでdllをコンパイルしようとすると、

z:\ src \ vs \ libiup_dll \ libiup_dll.h(229):エラーC2086:'std :: string errormsg':Neudefinition z:\ src \ libiup \ src \ stratcalc ../ interp / SimpleInterpolator.h(16): Siehe Deklaration von'errormsg' z:\ src \ vs \ libiup_dll \ libiup_dll.h(234):エラーC2086:'int loglevel':Neudefinition z:\ src \ libiup \ src \ stratcalc ../ interp / SimpleInterpolator.h( 17):Siehe Deklaration von'loglevel'

私が理解している限り、VSは2つの変数を2回定義していると考えていることを意味します。ただし、SimpleInterpolator.h 16/17には、extern宣言のみがあります...

どういうわけか、グローバル変数がどのように機能するかをまだ理解していないようです。どんな助けでも大歓迎です!

0 投票する
2 に答える
7048 参照

objective-c - アプリケーションデリゲート変数/プロパティにアクセスしようとしています

アプリケーションデリゲートの変数/プロパティをグローバルとして使用しています。(私はシングルトンクラスを扱いたくありません。)

ApplicationDelegateクラスに#defineステートメントを書き込もうとしています。私がタイプした場合:

私のアプリデリゲートクラスでは、コードヒントはsharedApplicationを認識しません。しかし、viewControllerクラスに同じものを入力すると、「sharedApplication」がすぐに表示されます。

applicationDelegate.h(または.m?)でNSMutableDictionaryを定義するために、次のように記述します。

次に、別のクラスで使用しようとすると、次のようになります。

MyDictionaryを最初に宣言する必要があるというエラーが表示されます。私はここで多くの概念について本当に混乱しています。

0 投票する
3 に答える
2706 参照

php - グローバルにアクセス可能なオブジェクトを作成する方法

こんにちは、グローバルにアクセスできるクラスのコレクションがいくつかあります。

Zend_Registry で似たようなものを見つけましたが、そのコードを読むと、静的関数への呼び出しがクラスの初期化されたインスタンスを返す方法を理解できません...

私は次のようなことをする必要があります:

ここでは、Request オブジェクトをフィルター処理しており、既にフィルター処理された要求にコントローラーが到達できるようにしたいと考えています。

その Application::getResource() を実装する方法がわかりません。私が知っている唯一のことは、特定のインスタンスに関連付けることができないため、静的メソッドでなければならないということです。

0 投票する
3 に答える
1974 参照

dependency-injection - グローバル状態とシングルトン依存性注入

これは、新しいアプリを設計しているときに何度も直面する問題です。これを説明するために、サンプル問題を使用します。

私は単純なゲームを書いているので、プレイヤーのリストを保持したいと考えています。私にはいくつかの選択肢があります...

  1. 一部のクラスで静的フィールドを使用する

しかし、これはグローバルな状態です

  1. または、シングルトンを使用できます

しかし、これはシングルトンなので悪いです

  1. 依存性注入

これは良さそうですが、そうではありません。

Game 以外のオブジェクトを見る必要がPlayerListある場合 (これは通常のケースです) 、上記のいずれかの方法を使用して、Game クラスをグローバルに利用できるようにする必要があります。そのため、問題に別のレイヤーを追加するだけです。私は実際には何も解決しませんでした。

最適なソリューションは何ですか? (現在、私はシングルトンアプローチを使用しています)

0 投票する
6 に答える
21736 参照

javascript - ブラウザのリロード ボタンが押されたときに変数が失われないようにする

ページのリロード時に (グローバル) 変数を保持することは可能ですか? はいの場合、どのように?

助けてくれてありがとう。よろしくお願いします。

0 投票する
3 に答える
1017 参照

c# - C#を使用してユーザーが入力した値をWebサイト全体に保存するにはどうすればよいですか?

私は現在、大量のトラフィックが発生するWebサイトに取り組んでいます。Webサイトには4〜5ページしかありませんが、1ページで選択した値を2ページに渡してさらに値を保存する必要があります。ユーザーが5ページに到達するまで、すべての値がサードパーティのシステムに渡されます。 XML。

現在、1つのセッションオブジェクトに約20個のキーが格納されている辞書オブジェクトを使用して、さまざまなページにわたって値を保持しています。これを行うのは、一部の値が「name」や「age」の値のような単純な値ではなく、2ページのXML呼び出しからの結果のデータセットを保持するように複雑になる可能性があるためです。

私はどこでもグローバル変数が悪いことを読んだので、この例でセッションを使用する代わりの方法があるかどうか疑問に思っていますか?一部の値を格納する必要があるため、データベースを使用してこれらの値を保持することはできません(つまり、変数は文字列/整数だけではありません)。グローバル静的変数を使用する場合、グローバル変数がユーザーごとに一意であることをどのように確認できますか?

あなたの考えをありがとう。

リッチ

**編集1**現在のセッションをASP.NETセッション状態で保存しており、inprocではありません。私は自分がしていることが悪い習慣なのか、それとも一般的には良いやり方として受け入れられているのかを理解しようとしています。たとえば、2ページ目には、サイトの3/4ページで使用するためにセッションにデータセットとして保存するXML結果が表示されます。この情報を別の方法で保存/渡す必要がありますか?

0 投票する
4 に答える
107997 参照

python - __init__.py を使用してグローバル変数を定義できますか?

パッケージのすべてのサブモジュールで使用できる定数を定義したいと考えています。最適な場所は__init__.pyルート パッケージのファイルであると考えました。しかし、これを行う方法がわかりません。いくつかのサブパッケージがあり、それぞれにいくつかのモジュールがあるとします。これらのモジュールからその変数にアクセスするにはどうすればよいですか?

もちろん、これが完全に間違っていて、より良い代替手段がある場合は、それを知りたいです。

0 投票する
7 に答える
1070 参照

c++ - グローバルアクセスの問題を解決するにはどうすればよいですか?

私はアプリを作成していますが、デザインの問題についてはSOコミュニティの知恵が必要です。

UiConnectionList私のアプリケーションでは、クラスのインスタンスが1つだけ存在する必要がありUiReaderますUiNotifier

今、私はこれを行うための2つの方法を考え出しました。

方法1: 各ファイルのヘッダーファイル自体に、そのクラスのグローバルインスタンスがあります。

方法2:各クラスの単一のグローバルインスタンスを含む個別のglobals.hファイルがあります。

コード例:

方法1

ファイル:uiconnectionlist.h

ファイル:uinotifier.h

方法2:

ファイル:uiconnectionlist.h

ファイル:uinotifier.h

ファイル:globals.h

私の質問

これを行うためのより良い/正しい方法は何ですか?

PS:ここではシングルトンが正しい答えだとは思いませんよね?

ありがとう


さて、2つの答えから、とのインスタンスを作成UiConnectionListUiNotifier、オプションでそれをaでラップし、必要に応じてUiContext渡すように指示されました。

誰かが(例を使って)グローバルにアクセス可能な変数を持つよりもコンテキストを渡す方が良い理由を列挙できますか?

これは、どの方法が優れているか(または私のアプリにより適しているか)を判断するのに役立ちます。

ありがとう

0 投票する
3 に答える
23113 参照

python - プログラムでグローバル(モジュール)変数を設定するにはどうすればよいですか?

「プログラム的」な方法でグローバルを定義したいと思います。私がやりたいことと似たようなことは次のようになります。

fundamentalconstants具体的には、などでアクセスできる変数を含むモジュールを作成したいと思います。このモジュールではfundamentalconstants.electron_mass、すべての値がファイルの解析によって取得されます(したがって、「プログラムによる」方法で割り当てを行う必要があります)。

これで、exec上記の解決策が機能します。execしかし、モジュールグローバルを設定するという目標を達成するための最もクリーンな方法ではないのではないかと心配しているので、少し不安です。