問題タブ [identifier]

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 投票する
1 に答える
47 参照

compiler-construction - コンパイル中に変数と定数を保存します。(サンプル言語)

背景: 私はコンパイラーを作成しています。スキャナーとパーサーは既に完成しています。プログラムを次のように定義する正式な文法があります。

したがって、宣言はメイン メソッドに対してグローバルまたはローカルのいずれかであることがわかります。したがって、解析するときに、次の 3 つのことを格納する方法が必要です: 入ってくる識別子が定数であるか変数であるか (parseConst() または parseVar() のどちらの解析方法を使用しているかがわかります)、グローバルまたはローカル、その実際の名前、およびその値 (まだわかっている場合)。

これをどうやって収納しようか迷っています。私のデータ構造クラスでは、実際に格納する必要があるのは、キーと値の 2 つだけです。だから私は次のようなものがあります:

単純なタスクにはデータ構造が多すぎるようです。クラス Identifier を作成し、Global/local ブール値フィールドと定数/var ブール値を持つ必要がありますか? そして、それらすべてを 1 つの識別子ハッシュマップに入れますか?

ありがとう!

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

c++ - 文字列を使用してオブジェクトを識別する:目的は何ですか?

たとえば、OGRE3Dは文字列を使用してオブジェクトを識別します。そのため、コードがその名前(文字列)を使用してオブジェクトに対して何かを実行するたびに、文字列操作を実行する必要があります。3Dエンジンは速度に非常に敏感であるため、どのようにしてそれを行うのに良い方法ですか?

コンピュータが文字列に対して操作を実行する必要がある場合、バイトごとに順番に操作を実行するため、文字列が長い場合はCPUサイクルが長くなります...

文字列識別子を使用する代わりに、コードでプレーン変数名を使用する方が速いのではないでしょうか。

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

php - PHP で一意のユーザー フィンガープリントを作成する方法

PHPでユーザーの一意性の「指紋」を生成する最良の方法は何ですか?

例えば:

  1. ユーザーの IP アドレスを「指紋」として使用できますが、同じ IP に複数の他のユーザーが存在する可能性があります。
  2. ユーザーの IP + ユーザー エージェントを「フィンガープリント」として使用できますが、1 人のユーザーが単純に Safari から Firefox に切り替えると、再び一意であると見なされる可能性があります。

理想的には、フィンガープリントはブラウザや「IP」ではなく「マシン」にラベルを付けますが、これがどのように達成できるかはわかりません。

ユーザーを一意に識別する方法、およびその方法の利点/欠点についてのアイデア/提案を歓迎します。

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

javascript - 「ウィンドウ」以外のコンテキストで JavaScript ファイルをロードできますか?

いくつかの外部 .js ファイルを読み込もうとしましたが、解決できない名前空間の競合がいくつかあります。

thisウィンドウ オブジェクトを指していた " " をカスタム名前空間に置き換えて、何らかの方法でファイルの一部を独自のコンテキストにロードするというアイデアがありました。

例:

first.js:

second.js:

この種のトリックは非常に便利なように思えます。それはまったく可能ですか?

EDIT
は、" " を置き換えてthisも問題が解決しないようです。これは、javascript での識別子解決のデフォルトのコンテキストではないためです。これは私のテストコードです:

何か案は?

解決方法
不可能です。私は今朝よりも賢くなり、あきらめました。同様の問題を抱えていて、問題を解決したい人には、これらの啓発的な読み物をお勧めします: http://jibbering.com/faq/notes/closures/
http://softwareas.com/cross-domain-communication- with-iframes

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

sql-server - SQL Server データベース名で有効な文字は?

(とりわけ) 新しい SQL Server データベースを作成するツールをクライアントに提供する予定であり、クライアントが提供するデータベース名に対して基本的な検証を実行できるようにしたいと考えています。SQL Server のドキュメントでは、データベース名で有効な文字について説明しています。ただし、文書化された規則に違反する名前のデータベースを正常に作成できるため、文書化は明らかに間違っています。

CREATE DATABASEに関する SQL Server のドキュメントによると、データベース名は識別子の規則に従う必要があります。識別子のルールは、データベースの互換性レベルによって異なります。_互換性レベルが 100 (SQL Server Management Studio によれば、"SQL Server 2008" を意味します) の場合、名前は Unicode 文字、、、@または#;で始まる必要があります。その後に1 つ以上@の文字、数字、、、、、または が続きます。ドキュメントには、スペースや特殊文字の埋め込みは許可されていないと明記されています。$#_

SQL Server Management Studio を使用して、This & That | "Other"埋め込みスペース (明示的に禁止されている) だけでなく、特殊文字 ( |, ") を含む名前のデータベースを作成できるため、これは利用可能な証拠に反していますファイル名で有効です。確認したところ、データベースの互換性レベルは実際には「SQL Server 2008 (100)」ですが、その名前はその互換性レベルでは無効であると文書化されています。

なんと、最初の文字が文字、アンダースコア、アットマーク、またはポンド記号である必要がないCREATE DATABASE " "ことを証明することもできます (はい、それは単一のスペースです) 。

私の質問は、SQL Server データベース名で有効な文字は何ですか? SQL Server の実際の動作と一致する文書化されたルールはありますか?

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

vb.net - VB.NETなぜこのサブルーチンはこのように宣言されているのですか?

VB.NET 2010、.NET 4

基本的な質問があります。オンラインのどこかでこのように宣言されたサブルーチンがあります。

サブの名前の後の宣言の(Of T As Control)部分について疑問に思っています。Tは、後でControlのタイプの指定とAction(Of T)で使用されることがわかりますが、なぜそれが単に実行するのではなく、このように実行されるのですか?

潜水艦の名前の後のその部分はどういう意味ですか?その目的は何ですか?どうもありがとう、そして私の無知をお詫びします。

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

php - ファイルをアップロードするときに一意のファイル名を生成するための最良の方法PHP

エントリの重複を避けるために、ファイルアップロード用に一意のファイル名を生成するためのベストプラクティスを提案できる人はいますか?

前もって感謝します。

0 投票する
10 に答える
417477 参照

hibernate - Hibernate が org.hibernate.AnnotationException: No identifier specified for entity: com..domain.idea.MAE_MFEView をスローする

なぜこの例外が発生するのですか?

更新: コードを次のように変更しました。

しかし今、私はこの例外を受けています:

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

android - Android エミュレータのデバイス識別子

デバイス識別子 (ANDROID_ID) に依存するアプリをエミュレーターでテストしたいと考えています。

現在、次のコードでデバイス識別子を取得しています。

これをエミュレータで実行すると が返されnull、あらゆる種類の問題が発生します。より高い Android バージョンでは何かが返されるようです。

Android エミュレーターでデバイス識別子を取得する方法はありますか? デバイス ID を間違って取得していますか?

コンソールからエミュレータのデバイス識別子を設定することは可能でしょうか?

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

ios - 4.2 での iAd の変更に関する問題

アプリで iAds を使用しようとしていますが、4.0 以降のすべてのバージョンをサポートしたいと考えています。ただし、現在のサイズ識別子を設定するためのコードは 4.2 SDK で変更されました。以前は次のようになっていました。

しかし、4.2 のコードは次のとおりです。

したがって、4.2 SDK で古いコードを使用するとクラッシュし、4.2 の正しいコードを使用すると、以前のバージョンから 4.2 を実行しているデバイスがクラッシュします。両方をサポートする方法を知っている人はいますか、または展開ターゲットとして 4.2 を使用する必要がありますか?