問題タブ [inline-code]

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

java - Perl、Inline_Java、Java オブジェクトとメソッドの動的ロード

オブジェクト FooBar を動的にロードし、roquet 関数を (動的に) 呼び出す方法について誰か助けてもらえますか? 私はPerlでこのスニペットを持っています:

次のアプローチとバリエーションを試しまし た。アプローチ:

b. アプローチ:

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

javascript - htmlから外部jsファイルに移動した後、Javascriptコードが機能しないのはなぜですか?

HTMLで完全に機能していたこのJavascriptコードがあります。main.jsに移動すると、突然機能しなくなりました。

免責事項:私はjQueryとJavascriptに非常に慣れていないので、それが本当に明白である場合は申し訳ありません。

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

ruby - c拡張機能を追加するRubyコードが機能しないのはなぜですか?

このRubyコードを実行しているときに、多くのエラーが発生しています...

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

c# - C#:関数呼び出しが手動インライン化よりも速いのはなぜですか?

2の累乗を計算する2つの方法で実行時間を測定しました。

1)インライン

2)簡単な関数呼び出しで

デバッグモードで実行している場合、すべてが期待どおりです。関数の呼び出しは、計算をインラインで実行するよりもかなりコストがかかります(ラインで385ミリ秒、関数呼び出しで570ミリ秒)。

リリースモードでは、コンパイラが非常に小さな関数を内部的にインライン化するため、コンパイラが関数呼び出しの実行時間を大幅に短縮することを期待しPower()ます。しかし、関数呼び出しが手動のインライン計算よりも高速であるとは思いません。

最も驚くべきことに、これが当てはまります。リリースビルドでは、最初の実行には109ミリ秒が必要であり、呼び出しを伴う2回目の実行にはPower()62ミリ秒しか必要ありません。

関数呼び出しは、手動のインライン化よりもどのように高速になりますか?

これがあなたの複製のためのプログラムです:

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

c++ - C++ インライン関数は、後でヘッダーで宣言された関数を呼び出すことができますか?

以下は、MSVC2008 および MSVC2010 で問題なく動作します

はい、これはちょっと奇妙です: (その時点で)はまだ宣言されていませんが、 をFuncA()呼び出します。ただし、MSVC2008 と MSVC2010 はこれで問題ないと考えています。FuncB()FuncB()

どうやら、gccこれでいいとは思えない―― FuncB was not declared in this scope

問題: 私はこれらをたくさん持っていますが、それらを宣言して後で定義するのは「苦痛」です。さらに、それらを適切に「順序付け」するのは難しいため、それぞれが宣言された後にのみ関数を呼び出します。 しかし、最初に宣言してから定義する必要があると思いますか?

これらの関数がテンプレートであるかどうか、またはテンプレート クラス内で定義されているかどうかでルールが異なりますか?

gcc具体的には、Microsoft が大量の相互結合コードを受け入れる非常に「遅いコンパイル」であることに気付きまし。 「コードを見る」(正確さのための最初のパス、およびパラメータ化/呼び出し中に再び)。

(この問題は、Microsoft コードを Linux/gcc に移植するときに発生します。)

===更新===

以下は、(このコード移植作業で) 私たちが持っている「代替」シナリオであり、これらのいずれかに基づいてあなたの答えは変わりますか?

...と:

===UPDATE+2===

コンセンサスはこれが有効なC++コードであり、機能するはずであるコメントをありがとう(@Adamが示唆したように、関数「定義済みインライン」はクラスの後に定義されているかのように動作し、定義された関数を呼び出すことができるはずですそのインライン定義の後のクラス インターフェイスで)。

詳しくは:

はい、FuncA()インライン実装の最初の例で実際にこのコンパイル エラーが発生しました。

...使用:

(これは MSVC2008/MSVC2010 で機能することを思い出してください)。

私のコード例 (上記) が不十分であることに気付きました (上記の例では、このエラーは表示されませんgcc)。詳細は次のとおりです。

  • Foo基本クラスがあります(それは問題ではないと思います)
  • Fooこれらの機能を通過する内部enumを定義します(これは問題ではないと思います)
  • これらの関数は、マクロを介して「展開」されます(重要だと思います-以下を参照)
  • これらの関数は 56 個あります (重要だと思います -- 以下を参照してください)。

より完全なコード例は次のようになります (これは自慢ではありません)。

コード の意図:FooParent基本クラスには、(多くの) 派生クラスによって「共有」されることを意図した実装があります。派生クラスは独自のenum値を定義します。これらの値を使用する関数はenum、マクロを介して実装されました (FooParentは ではなくtemplate<>、派生した に依存できないためenum)。

奇妙な行動:

  • FooA(){FooB();}ネストが「数行」だけで「後で」定義された関数を参照する場合、正常にgccコンパイルされます。ただし、まだ宣言されていない関数が のようにずっと後の場合Foo2(){Foo53();}、それはクラスのメンバーではないgccと結論付けFoo53()ます (ただし、メンバーです)。

これが私が起こっていると思うことです:

  • 物理的に「1 行」にある大量のコード (56 個の関数) に問題があるようです。これらの関数をマクロから削除し、エスケープ行末を削除すると、正常にコンパイルされます。\gcc

したがって、(コード移植)答えは次のとおりだと思います。

  • プリプロセッサ マクロを使用しないでください
  • から派生したFooParentBase<>テンプレート クラスを作成しFooParent、そこから を派生させます。これには、テンプレート パラメータとしてFooが必要です。typename Foo::enum

私はこれらの変更に問題はありません (私はマクロが好きではありませんでした) が、gccここに問題があるように見えるのは奇妙だと思います。

これを修正する方法について他の提案はありますか? (上記のリファクタリングはあなたがすることですか?)

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

javascript - クライアント側のボタン クリック イベントで <% ... %> を使用できません

クエリ文字列の値に基づいて別のページにリダイレクトしようとしています。これは、asp.net Web フォーム ページです。キャンセル ボタンをクリックすると、次の js が実行されます。ボタンは devexpress ボタンです。

CallingPage は、asp 隠しフィールドの ID です。ページの読み込み中に値を設定しています。このページが読み込まれる前でも、コントロールにコード ブロックが含まれているため、コントロール コレクションを変更できません (つまり<% ... %>) エラーが発生します。それがdevexpressボタンコントロールによるものなのか、それとも他の何かによるものなのかはわかりません。

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

c# - C# でインライン化する代わりに?

次のステートメントを使用して、現在の関数 (イベント ハンドラーなど) の名前を Visual Studio (2010) の [出力] ウィンドウに出力します。

これを , などのユーティリティ関数内に配置するDisplayFunctionName()と、それを呼び出す親関数の代わりに、毎回表示されるのは " DisplayFunctionName" - 驚くことではありません!

C# にはインライン化がないことはわかっていますが、このようなステートメントを複製する必要がないように、「スニペット」を使用する以外に、この状況に対する別の解決策はありますか?

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

javascript - テキスト コンテンツとしてレンダリングされるインライン スクリプト

HTML 文字列として指定された DOM オブジェクトがあり、jQuery メソッドを使用して AJAX によって HTML ページに挿入されますreplaceWith()。HTML 文字列には、<div>要素とそれに対して機能するインラインが含ま<script>れており、jQuery コマンドは次のようになります。

この AJAX が実行されると、<div>要素が正しくレンダリングされ、内部のスクリプトが機能します<script>が、それに加えて、インラインのコンテンツが<script>ページ上でそのままレンダリングされます。なぜこうなった?どうすればこれを回避できますか? Chrome 開発者ツールで対応する部分を見ると、インライン スクリプトが 1 回だけ表示されます (意図したとおりです)。

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

css - Worklight 5.0.5 は変更不可能なインライン CSS を生成します

今日、Android モバイル プロジェクトで Worklight 5.0.5 を使用しているときに問題が発生しました。このプロジェクトは、Apache Cordova、Dojo Mobile、および Worklight のライブラリーを利用します (役立つ場合)。

問題は、場合によっては、ビルド時に Worklight が不要なインライン CSS を自動的に生成することです。Worklight のどのコンポーネントがこれを引き起こしているのか、また、必要に応じてこの動作を変更または防止する方法を見つけることもできません。これは小さな問題のように思えるかもしれませんが、これはインライン CSS であり、ビルド中に影響を与えることはできません!

JavaScript と CSS を検索すると、私が作成したものと Dojo 用にインポートしたものの両方で、CSS を追加するものは何も表示されないようです。

例:

HTML に次のタグがあります。

ビルド後、これは WebKit ベースのブラウザー (Google Chrome) で次のように表示されます。

最後のインライン CSS である「padding-left」は、私が探して破棄しようとしているものです。この動作の原因と、それを変更または防止する方法を知っている人はいますか?