問題タブ [square-bracket]

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 に答える
2146 参照

php - PHPのテキストファイルに角かっこを書き込むにはどうすればよいですか?

さまざまな新しいphpページを生成するphpスクリプトを作成しようとしていますが、角かっこを書き込めないことがわかりました。他の文字(つまり[)と同じ方法で角かっこをエスケープすると、先頭の\が新しいページに書き込まれ、コードが機能しなくなります。

角かっこをエスケープしないと、ページが失敗し、asc(91)に置き換えても同じことが起こります。

$ row-> Valueのようなコードを使用する他の例を見たことがありますが、それを試しましたが、機能しませんでした。角かっこを出力するのを手伝ってくれる人や、行をまったく使用せずに行から値を取得できる別の方法を知っている人がいれば、とてもありがたいです。

0 投票する
0 に答える
1793 参照

javascript - パラメータが任意の深さで JSON オブジェクトに存在するかどうかを確認します

API は、一部の要素が含まれる場合と含まれない場合がある、定義できない深さで JSON 応答を返します。プロパティが存在するかどうかを確認するにはどうすればよいですか? 一部のパラメーターには、「@param」や「$」などの奇妙な名前が含まれています。この例は次のとおりです。

同様のチェックを書きましたが、上記の理由でドット構文を使用できません。これを変更するためのヘルプは大歓迎です。

テストするオブジェクトの例は次のとおりです。

checkValue(obj.member.age) でチェックする前に、この例では明らかな理由でこれを行うことができません。

0 投票する
1 に答える
1447 参照

javascript - 変数の孫 (parent.child.grandchild) にドットと 1 対の括弧なしでアクセスする

一種の変換テーブルを使用してキャンバス関連のクラスを構築しています。変換テーブルはユーザーが編集できます。(実際には関係ありませんが、理由を知りたいと思うかもしれません):

例:


本当の質問:

通常、el['style']['width']el.style.width を設定するために使用します。しかしel[something]、2 番目の角かっこなしで使用したい: プロパティ名を完全に可変にしたい (また、設定できるようにしたいel['innerHTML'])。a[b]では、 を使用せずに を使用して孫を取得する方法はありa[b][c]ますか?

PS もちろん、eval は使いたくありません。

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

c++ - 奇妙な C++ 構文

私は 8 年間のコーディング経験がありますが、演算子[]がパラメーターとして関数定義に渡されるのを見たことがありません。

たとえば、次のコード (オープン ソース プロジェクトから):

コーディングの生涯を通して、私は常に[]、パラメーターとしてではなく、演算子のオーバーロードとして定義してきました。

では、この新しい構文は何を意味するのでしょうか?

Visual Studio 2003 に付属のコンパイラを使用しています。VS 2003 でコンパイルできるように上記のコードを変更するにはどうすればよいですか?

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

javascript - Javascript角括弧表記複数の動的プロパティ

これは少し変わったように聞こえるかもしれません。これまでこのように角括弧表記を使用する必要はありませんでした。頭を悩ませて、望ましい結果を生み出す方法を考えることはできません。

thisメソッドをコールバックとして渡すときの参照を維持するために、コールバックラッパーを実装しています

例えば

私が抱えている問題は、fooにいくつかのネストされたメソッドがあることです

例えば

wrapメソッドがネストされたメソッドをサポートするようにする方法を見つけようとしています

例えば

したがって、foo.wrap関数は、渡された長さまたは引数に対応する角かっこを動的に追加する必要があります。

例えば

私はこれを行う方法を考えることができません。何か案は ?

私はこれが不可能であるというこっそりの疑いを持っています。

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

objective-c - Objective-C に関する 2 つの質問: フレームワーク リンクと、ドット & 角括弧表現の「自己」

私は今iphone devを学んでいます。今、「iPhone 4 Development」という本を読んでいます。この本を読んでいる間、私はこの本で使用されている Objective-C に関するいくつかの構文について混乱しています。わかりました、ここに私の質問があります:

  • フレームワークとヘッダー ファイルのリンク

この本の第 7 章の最後に、「プロジェクトをフレームワークにリンクする」と記載されています。本書ではAudioToolbox.frameworkへのプロジェクトにリンクしています。フレームワークをリンクする代わりにヘッダーファイルを追加しないのはなぜですか? フレームワークへのリンクとヘッダー ファイルの追加の違いは何ですか?

  • ドット内の「self」&「[]」式

この本の第 9 章では、サンプル コードでドット演算子と角かっこ式を数回使用し SecondLevelViewController *controller = [controllers objectAtIndex:row];SecondLevelViewController *nextController = [self.controllers objectAtIndex:row];います。では、いつ「自己」を使用する必要がありますか? そうでないときは?

ありがとう、サム

0 投票する
1 に答える
687 参照

bbcode - 閉じていないすべての開始角括弧タグを閉じる方法は?

OK、メッセージがあります。正規表現を使用して、角かっこが含まれているかどうかを判断できますか。

たとえば、角かっこの開始は次のようになります。 [code]

締めくくりはこんな感じです。 [/code]

しかし、角括弧内に入れることができるコード bbc コードだけではありません。

私ができるようにしたいのは、メッセージ全体を含む変数を使用し、次のように示される終了タグを持たない角括弧内の単語があるかどうかを何らかの形で判断することです [/] 開始タグはもちろん[単語で始まり、で終わります]

したがって、変数内に次のようなものがあるとします。

OK、これが最近のモジュールコードのすべてを含む全体的な script.php ファイルです。そこで、関数パラメーターから $params を取得するための Main 関数から始めます...

[code]それが閉じられていないことを知り、最後に追加します[/code]

しかしまた、私がこのようなものを持っている場合:

[table]and [tr]andが閉じていないことを認識[td]し、最後に次の順序で終了タグを追加する必要があります。

[/td]そして、[/tr]そして最後に[/table]

しかし、次のようなタグもあります。[list][li][/li][/list]

配列内の角括弧内にある可能性のあるすべてのタグを設定でき、開始タグと終了タグの両方があるかどうかを確認する関数を呼び出すことができれば、bbc コード以外のタグには影響しません。人々がメッセージに入れることはただの原因です。

誰でも私にRegを手に入れることができますか?元これを行うには?誰かが私がこれを始めるのを手伝ってくれるなら、それは素晴らしいことです。

みんなありがとう :)

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

sql-server - 角括弧の間にデータベース列を書く理由はありますか?

SQL Server で別の人が作成したデータベースを維持しています。あるテーブルで、名前が角括弧で囲まれた列を見つけました。フィールドの名前はdescで、テーブルには として保存されます[desc]。他のフィールドは角括弧なしで格納されます。この選択の背後に特別な理由/慣例はありますか?

データベース上に構築されたアプリケーションは、C# または VB.NET で開発されます。

ありがとう

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

c++ - C ++リンクリスト:ブラケット演算子のオーバーロード[]

それで、私は自分自身を鋭く保つためにいくつかのデータ構造を振り返ることに決めました;)

ハッシュの衝突を回避するためにバケットのリンクリストが必要であることを思い出したとき、ハッシュテーブルの実装を開始しました。だから私は私のリンクリストを始めました...

リンクリストクラスのすべての機能メソッド(追加、取得、削除など)を実装した後、これまで試したことのないものを試したいと思いました。リンクリストが配列であるかのようにリンクリストインデックスを取得または割り当てることができるように、配列インデックス演算子をオーバーロードします。

検索部分は問題なく動作しました:

get関数は、ノード自体ではなく、関連付けられたノードのデータを返します...セッターは、指定されたインデックスでノードのデータ属性に提供された値が格納される場所で動作する必要があります...私のビジョンは、ユーザーがこれまでにないことですListNodeクラスに触れる必要があります。

私の最終目標は、次のように動作するスマートなLinkedListを作成できるようにすることです。

ゲッターは正常に動作しますが、セッターに問題があります。すべてのインデックスエラーチェックとメモリ割り当てを含む集合関数がそのまま実行されると仮定します。どんな助けでもいただければ幸いです。それが不可能な場合は、時間をかける前にお知らせください。ありがとう。

0 投票する
5 に答える
1583 参照

c++ - テンプレート Polynom クラスの operator[] のオーバーロード

係数の数値型であるテンプレートPolynom<T>クラスを作成しています。T

多項式の係数は に格納されますstd::vector<T> coefficients。ここで、実多項式にcoefficients[i]対応します。x^i(したがって、x の累乗は昇順です)。

coefficientsvector には常に少なくとも 1 つの要素が含まれていることが保証されています。- ゼロ多項式の場合はT()です。

次のことを行うためにオーバーロードしたいoperator[]

  1. operator[] に渡されるインデックスは、係数を変更/読み取りたい X の累乗に対応します。
  2. ユーザーが係数を読み取るcoefficients.at(i)だけの場合は、負のインデックスに対してスローし、格納された範囲内のインデックスに対して返さなければなりません。また、スローではなく、他のすべてのインデックスに対して適切に 0 を返す必要があります。
  3. ユーザーが係数を変更したい場合は、負のインデックスをスローする必要がありますが、指定されたインデックスが より大きいか等しい場合でも、ユーザーは他のすべてのインデックスを自由に変更できますcoefficients.size()。そのため、何らかの方法でベクトルのサイズを変更したいと考えています。

私が衝突した主な問題は次のとおりです。

1.

読み取りケースと書き込みケースを区別するにはどうすればよいですか? ある人は説明なしで私を残しましたが、2つのバージョンを書いていると言いました:

不十分でした。ただし、読み取りの場合、コンパイラは const バージョンを好むと思いましたね。

2.

coefficients末尾のゼロがベクトルに格納されないようにしたいと思います。したがって、係数のミュータブルを返す「前に」、T&ユーザーが割り当てたい値を事前に知る必要があります。operator[]そして、それが2番目の引数を受け取らないことを私は知っています。

明らかに、この値がゼロでない (T() ではない) 場合、ベクトルのサイズを変更し、渡された値に適切な係数を設定する必要があります。

T&ただし、事前に ( from を返す前にoperator[]) 行うことはできません。割り当てられる値が T() である場合、事前に係数ベクトルのサイズを変更すると、最終的に多くの末尾の「ゼロ」が発生するためです。

もちろん、クラスの他のすべての関数で末尾のゼロをチェックし、その場合は削除できます。私には非常に奇妙な決定のように思えます.サイズ> 1の場合、ベクトルの最後にゼロがないことを前提として、すべての関数が機能し始めることを望みます.

この問題の具体的な解決策を教えてください。T&オーバーロードされた に暗黙的に変換可能な内部クラスを作成することについて何か聞いたことoperator=がありますが、詳細が不足しています。

事前にどうもありがとうございました!