問題タブ [string-literals]

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

.net - 文字列リテラルの検索

ローカリゼーションの探求では、ソース コードに散らばっているすべての文字列リテラルを見つける必要があります。これを変更後のソース リポジトリ チェックにスクリプト化する方法を探していました。(誰かが何かをチェックした後、この統計をチェックするためのボックスのセットアップがあります) 私はおそらく NAnt と CruiseControl または何かを使用して CVS の管理を処理します (私の場合は StarTeam :( ) しかし、スクリプト可能なものを知っていますか? (またはコマンド ライン) ユーティリティを使用して、文字列リテラルを検索するソース コードを正確に循環させることができますか? 正規表現に基づいて単純な文字列検索を実行できることはわかっていますが、もう少し費用対効果が高いと思います. (文字列を分析するか、カテゴリに分類することをお勧めします) ) 多くの場合、文字列は必ずしも翻訳を必要としない場合があるためです。

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

java - Java および .NET 文字列リテラルはどこにありますか?

.NET の文字列リテラルに関する最近の質問が私の目を引きました。同じ値を持つ異なる文字列が同じオブジェクトを参照するように、文字列リテラルがインターンされていることを知っています。また、実行時に文字列をインターンできることも知っています。

明らかに、実行時にインターンされる文字列はヒープに存在しますが、リテラルがプログラムのデータセグメントに配置されていると想定していました (上記の質問に対する私の回答でそう言いました)。しかし、私はこれをどこかで見た覚えがありません。これは私が行う方法であり、ldstrIL命令を使用してリテラルを取得し、割り当てが行われていないように見えるという事実が私を裏付けているように見えるので、これが当てはまると思います。

簡単に言うと、文字列リテラルはどこにあるのでしょうか? ヒープ上ですか、データ セグメントですか、それとも私が考えもしなかった場所ですか?


編集:文字列リテラルヒープに存在する場合、それらはいつ割り当てられますか?

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

python - パラメータをtimeit.Timer()関数に渡す際のトリッキーなPython文字列リテラル

Python の timeit.Timer(stmt, setup_stmt) の setup ステートメントに苦労しています。このトリッキーな問題から抜け出すための助けに感謝します:

したがって、私のスニペットは次のようになります。

setup ステートメントでの意味を変更せずに、変数 str1、str2 のメタ文字をエスケープする方法がわかりません。

さまざまな組み合わせを試しましたが、常に次のエラーが発生します: SyntaxError: can't assign toliteral SyntaxError
: EOL while scanning single quoted string

0 投票する
9 に答える
7165 参照

language-agnostic - ハードコーディングされたSTRINGSは受け入れられますか?

ハードコーディングされたリテラルはこれまでに受け入れられますか?に似ている 、しかし、私はここで「魔法の糸」を具体的に考えています。

大規模なプロジェクトでは、次のような構成オプションの表があります。

(何百もの)。

一般的な方法は、ジェネリック関数を呼び出して、次のようにオプションをテストすることです。

(もちろん、この同じオプションは、システム コードの多くの場所でチェックする必要があるかもしれません。)

新しいオプションを追加するとき、次のような「魔法の文字列」を非表示にする機能を追加することを検討していました。

しかし、同僚は私がやり過ぎだと思って、これを行うことに反対しました。

  • それが私たちが通常していることです
  • コードのデバッグ時に何が起こっているかを簡単に確認できます

問題は、私には彼らの要点がわかるということです! 現実的には、何らかの理由でオプションの名前を変更することは決してありません。そのため、私の関数について考えられる唯一の利点は、コンパイラが fo_enabled() のようなタイプミスを検出するが、'FO_ENABLED' は検出しないことです。

どう思いますか?他の利点/欠点を見逃していませんか?

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

c - これは本当にバッファオーバーフローですか?

私たちが使用している静的解析ツールは、次のような C コードに重大なバッファ オーバーフローとしてフラグを立てています。

ツールのエラー メッセージは次のとおりです。 バッファ オーバーフロー(範囲外の配列インデックス): 配列 'buf' のサイズは 1 です。配列 'buf' は 0..64 インデックスを使用する可能性があります。

これは合法ですか?文字配列を空の文字列に代入すると、実際にその長さが 1 バイトに短縮されるのchar buf [] = "";でしょうか?

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

objective-c - NSString にパーセント記号を追加する方法

文字列の数字の後にパーセント記号を付けたいです。このようなもの:75%。

どうすればこれを行うことができますか?私は試した:

しかし、それは私にはうまくいきませんでした。

0 投票する
9 に答える
272442 参照

c - C / Objective-Cで文字列リテラルを複数行に分割する方法は?

私はかなり長いsqliteクエリを持っています:

読みやすくするために行数に分割するにはどうすればよいですか? 私が次のことをした場合:

エラーが発生しています。

クエリを複数行で書く方法はありますか?

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

powershell - PowerShell文字列リテラルでUnicode文字コードをエンコードするにはどうすればよいですか?

たとえば、PowerShell文字列でUnicode文字U + 0048(H)をエンコードするにはどうすればよいですか?

C#では、これを実行"\u0048"しますが、PowerShellでは機能しないようです。

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

c++ - C++ 複数行文字列リテラル

Perl 風に C++ で複数行のプレーンテキスト定数リテラルを使用する方法はありますか? たぶん#include、ファイルを使用した解析のトリックですか?思いつきませんが、少年、それはいいでしょう。C++0x になることはわかっています。

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

python - 2 つの文字列を 'is' で比較 -- 期待どおりに動作しない

2 つの文字列をisで比較しようとしています。1 つの文字列は関数によって返され、もう 1 つの文字列は比較で宣言されているだけです。オブジェクト ID のテストですが、このページによると、Python のメモリ最適化により、2 つの同一の文字列でも機能します。ただし、次の場合は機能しません。

出力:

これの理由は、関数によって返される文字列が文字列リテラルとは異なる「タイプ」の文字列であるためだと思います。文字列リテラルを返す関数を取得する方法はありますか? ==を使用できることはわかっていますが、ただ興味があります。