問題タブ [programming-languages]

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

c++ - C++ のデフォルトの参照渡しセマンティクス

編集: この質問は、C++ 自体よりも言語工学に関するものです。主に日常的に使用するため、C++ を例として使用して、必要なものを示しました。私はそれが C++ でどのように機能するか知りたくありませんでしたが、それがどのように行われるかについての議論を開きまし

それは現在の動作方法ではありません。それができればいいのですが、それは確かにCの互換性を壊しますが、それがextern "C"のすべてだと思います。

つまり、今宣言するすべての関数またはメソッドで、参照演算子を前に付けて参照することでオブジェクトが送信されることを明示的に記述する必要があります。私はすべての非 POD 型が参照によって自動的に送信されることを望みます。なぜなら、実際にはサイズが 32 ビットを超えるすべてのオブジェクトに対して、それを頻繁に使用するからです。それは私のほとんどすべてのクラスです。

ab、およびcがクラスであると仮定して、現在の状況を例証しましょう。

今私が望むもの:

これで、do_nothing_on_c() は現在と同じように動作する可能性があります。

それは少なくとも私にとっては興味深いことであり、はるかに明確に感じられます。また、 POD 以外のすべてのパラメーターが参照によって来ていることがわかっている場合は、明示的に宣言する必要がある場合と同じ間違いになると思います。

この変更の別の観点から、C 出身者からすると、参照演算子は変数addressを取得する方法のように思えます。これは、ポインターを取得するために使用した方法です。つまり、同じ演算子ですが、異なるコンテキストでは異なる意味を持つということは、あなたにとっても少し間違っていると感じませんか?

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

programming-languages - ポインタとは?

参照:ポインタについて


多くの C 風味の言語や、Fortran などの一部の古い言語では、Pointersを使用できます。

Basic、JavaScript、および ActionScript でしか実際にプログラミングしたことのない人として、Pointer とは何か、それが最も役立つのは何かを説明してもらえますか?

ありがとう!

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

programming-languages - Webプログラミング言語のようなわさび

Fog CreekのWasabiのように機能するオープンソースまたは商用のWebプログラミング言語はありますか?この親言語でWebアプリを作成すると、Linuxホストの場合はphpに、Windowsホストの場合はASP.NETにコンパイルされます。

0 投票する
8 に答える
4127 参照

email - プログラムによる大量の電子メールの送信

購読しているユーザーに定期的に電子メール アラートを送信できるようにする必要があります。PHP は1 つのメッセージを送信するのに苦労しているように見えるので、良い代替手段を探しています。

実装が十分に高速であれば、どの言語でもかまいません。送信されるメールの量は、最終的には数千になります。

ライセンスされたソフトウェアの購入を避けることができれば、なおさらです。

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

programming-languages - Windows Scripting Host(WSH)用の言語の作成

言語をコマンドラインから使用してサーバー側のWebページに埋め込むことができるように、、、、、および(とりわけ)のWSH方法でターゲティングしたVBScript経験はありますか?そのような情報はどこで入手できますか?JScriptPerlScriptxbScriptForthScript

0 投票する
8 に答える
278 参照

language-agnostic - 型付けされた変数の目的を打ち負かすキャスト機能はありませんか?

だから、私たちは多くの間違いを犯すので、型付けされた言語を持っているという仮定の下で作業しています.私の仮定が間違っているかどうかを知ってください)。

しかし、型付き言語にキャストを導入すると、変数を型付けできなかったときに抱えていた問題のほとんどが再導入されるのではないでしょうか。

また、変数を入力する理由は私の仮定だけではないことも認識しています。型付き言語を使用するその他の理由をいくつか教えてください。

0 投票する
16 に答える
1178 参照

programming-languages - ゲームプロジェクト開発

シンプルな 3D 形状が相互に作用する 3D ワールドで構成されるゲームを開発したいと考えており、物理学のような「リアル」が関与しています。

私はビデオゲームのプログラミングの経験がありませんが、学びたいと思っているので、相互に作用する 3D 形状と物理学のような「リアル」で構成されるゲームに使用するプログラミング言語および/またはライブラリを尋ねたいと思います。 ?

この質問には複数の回答があることは承知していますが、現在使用されている最も一般的なテクノロジーは何かを知りたいです。

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

.net - .NET のクラス ローダーに相当するもの

.NET で「Java カスタム クラス ローダー」に相当するものを定義できるかどうかは誰にもわかりませんか?

少し背景を説明するには:

「Liberty」と呼ばれる、CLR を対象とする新しいプログラミング言語を開発中です。この言語の機能の 1 つは、「型コンストラクター」を定義する機能です。これは、コンパイル時にコンパイラーによって実行され、出力として型を生成するメソッドです。それらはジェネリックの一種の一般化であり (言語には通常のジェネリックが含まれています)、次のようなコードを ("Liberty" 構文で) 記述できます。

「タプル」は次のように定義されています。

この特定の例では、型コンストラクターtupleは、VB および C# の匿名型に似たものを提供します。

ただし、匿名型とは異なり、「タプル」には名前があり、パブリック メソッド シグネチャ内で使用できます。

これは、最終的にコンパイラによって出力される型を複数のアセンブリ間で共有できるようにする方法が必要であることを意味します。たとえば、私はしたいです

tuple<x as int>tuple<x as int>アセンブリ A で定義され、最終的にアセンブリ B で定義されたものと同じ型になります。

もちろん、これの問題は、アセンブリ A とアセンブリ B が異なる時間にコンパイルされることです。つまり、どちらも、タプル型の互換性のない独自のバージョンを発行することになります。

これを行うためにある種の「型消去」を使用することを検討したため、次のような型の束を持つ共有ライブラリが作成されます (これは「Liberty」構文です)。

次に、i、j、および k タプル フィールドからのアクセスを 、 、および にリダイレクトField1Field2ますField3

ただし、それは実際には実行可能なオプションではありません。これは、コンパイル時tuple<x as int>tuple<y as int>は と が異なる型になることを意味しますが、実行時には同じ型として扱われます。これは、等価性や型の同一性などに多くの問題を引き起こします。それは私の好みにはあまりにも抽象的すぎます。

他の可能なオプションは、「ステート バッグ オブジェクト」を使用することです。ただし、状態バッグを使用すると、言語で「型コンストラクター」をサポートするという目的全体が無効になります。「カスタム言語拡張機能」を有効にして、コンパイラが静的な型チェックを実行できるコンパイル時に新しい型を生成できるようにするという考え方があります。

Java では、カスタム クラス ローダーを使用してこれを行うことができます。基本的に、タプル型を使用するコードは、実際にディスク上で型を定義しなくても発行できます。次に、実行時にタプル型を動的に生成するカスタム「クラス ローダー」を定義できます。これにより、コンパイラ内で静的な型チェックが可能になり、コンパイルの境界を越えてタプル型が統一されます。

ただし、残念ながら、CLR はカスタム クラスの読み込みをサポートしていません。CLR でのすべての読み込みは、アセンブリ レベルで行われます。「構築された型」ごとに個別のアセンブリを定義することは可能ですが、それはすぐにパフォーマンスの問題につながります (型が 1 つしかないアセンブリが多数あると、リソースが多すぎます)。

だから、私が知りたいのは:

.NET で Java クラス ローダーのようなものをシミュレートして、存在しない型への参照を発行し、それを使用する必要があるコードを実行する前に、実行時にその型への参照を動的に生成することはできますか?

ノート:

*実際には、質問への回答は既に知っています。以下に回答として提供します。ただし、解決策を見つけるために、約 3 日間の調査と、かなりの IL ハッキングが必要でした。他の誰かが同じ問題に遭遇した場合に備えて、ここに文書化することをお勧めします. *

0 投票する
8 に答える
47534 参照

c - トランポリン機能とは?

職場での最近の議論の中で、誰かがトランポリン機能について言及しました。

ウィキペディアの説明を読みました。機能の一般的なアイデアを示すだけで十分ですが、もう少し具体的なものが欲しいです。

トランポリンを説明する簡単なコード スニペットはありますか?

0 投票する
14 に答える
25054 参照

python - Pythonのコアタイプにパッチメソッドを適用できますか?

Rubyは、Numberクラスやその他のコアタイプにメソッドを追加して、次のような効果を得ることができます。

しかし、Pythonではこれができないようです。これは本当ですか?もしそうなら、なぜですか?タイプを変更できないという事実と関係がありますか?

更新:モンキーパッチのさまざまな定義について話すのではなく、上記の例に焦点を当てたいと思います。あなた方の何人かが答えたので、私はすでにそれをすることができないと結論を下しました。しかし、なぜそれができないのか、そしておそらくPythonで利用可能な場合、どの機能がこれを可能にするのかについて、より詳細な説明が必要です。

あなたの何人かに答えるために:私がこれをしたいと思うかもしれない理由は単に美学/読みやすさです。

これは英語に似ており、次のように、テストされた値と期待値を明確に示しています。

この概念は、Rspecおよび他のいくつかのRubyフレームワークが基づいているものです。