問題タブ [ceylon]
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.
unit-testing - ceylon.test.TestRunner の作成
プログラムで実行できるテスト スイートを作成しようとしています。(ドキュメントには、IDE をいじってテストを実行させることができると記載されていますが、テストスイートを独自の実行可能なユニットを持つ標準の Ceylon モジュールとしてセットアップするためのより定期的なアプローチのように思えます。また、ドキュメントにはありません。 IDE の方法で実際に行う方法については何も言いません)。
そのため、 createTestRunner関数を使用してTestRunnerを作成しています。この関数は、最初の引数としてTestSourceの Sequential (' ') を取ります。このタイプのエイリアスです:TestSource[]
TestSource
テスト ランナーにテストをフィードするにはどうすればよいですか?
まず、それらをローカル関数に配置してから、テスト ランナーがこれらの関数に何らかの方法でアクセスできるようにするのが最も簡単なようです (これ以上は指定しません)。エイリアスに含まれる型の長いリストには実際のFunctionsTestSource
が含まれていないように見えるため、正しいもののように見える最も近い候補であるFunctionDeclarationを探してみました。
このような関数宣言を行うには、まず、テスト ラッパー関数が実際にどのように見えるかを考えなければなりませんでした。おそらくこのようなものですか?
(ちなみに、これらの関数は型ごとに同等です)
多くのCeylon Herd 精査の後、そのような関数の aFunctionDeclaration
は次のように綴ることができると考えました。
だから今、私がしなければならなかったのは、これをcreateTestRunner
関数に与えることだけでした。私はただ入れなければなりませんでしmyFunctionDeclaration
たTestSource[]
:
しかし、その最初の行は機能しません。myFunctionDeclaration
タイプ 'FunctionDeclaration' は単にタイプとして渡されませんTestSource
。なぜだめですか?FunctionDeclaration
適切な TestSource タイプではありませんか? のエイリアス定義を見ると、TestSource
可能なタイプのリストにあるようFunctionDeclaration
です。
ここで何が欠けていますか?
reflection - セイロンのメタモデル
私はセイロンを勉強していますが、そのメタモデルについて質問があります。組み込みの equals-hash 実装で不変クラスをインスタンス化できるようにするいくつかの基本クラス 'DataContainer' を作成したい: 例: Identifier(125, "ab") == Identifier(125, "ab")すべての共有非変数値を収集し、この情報を「ハッシュ」および「等しい」メソッドで使用します。私はこのコードを書きました:
Identifier クラスは DataContainer のクライアントです。全体としてこのソリューションが気に入っていますが、DataContainer 内で「クラス」を使用するとサブクラスのメンバーが表示されないため、「クラス」をスーパー クラス コンストラクターに渡す必要があります。基本クラスのメソッドで拡張クラスのメンバーの実際のリストを取得するにはどうすればよいですか? 「これ」のようなものは機能しません...
arrays - セイロンの多次元配列
多次元配列を使ってセイロンで働きたいです。これはセイロンで計画されていますか?もしそうなら、どうすればそれを宣言できますか?
ここに Java で示すように、Ceylon でこの構成を使用したいと思います。