問題タブ [eiffel]
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.
design-patterns - 訪問者パターンと複合パターン
算術式と論理式を構築し、それらに対して操作を実行する方法を開発しようとしています。構造にはコンポジット パターンを使用し、操作にはビジター パターンを使用しています。
具体的なビジター クラスの実装について少し混乱しています。
これが私が現在行っている方法です:
私のADDITIONクラス:
ビジター パターンについては、指定された式を評価することになっている具体的なビジターを次に示します (型チェックやきれいな印刷などを行う具体的なビジターも必要です)。
私の質問は、すべての評価はビジター クラスで実行する必要があるため、構造体 (ADDITION、SUBTRACTION、NEGATION など) のそれぞれに evaluate メソッドが含まれていると、ビジター パターンの目的が無効になるのではないかということです。それをビジタークラスに実装するにはどうすればよいですか?私は次のようなことができると思っていました:
しかし、その後、構造体に多くの受け入れメソッドが必要になり、算術式の場合は INTEGER を返す必要があり、論理演算の場合は BOOLEAN を返す必要があります。
c++ - 「エディタのレイアウト情報を保存できません。」エッフェル スタジオで
プログラミングの問題ではなく、IDE の問題に似ています。私の Eiffel Studio 15.01 は、リンクの画像に示されているこのエラーのために起動しません。 http://imgur.com/kiKJyez
誰でも助けてもらえますか?
polymorphism - Eiffel での多重継承からのレプリケーション
多重継承とレプリケーションおよびポリモーフィズムの相互作用を理解するのに苦労しています。古典的なダイヤモンド パターンを形成する次のクラスを検討してください。
ob_as_c
D のインスタンスをC 型のオブジェクトにアタッチすると、ob_as_c.c
期待どおり "c" が出力されます。ただし、インスタンスをob_as_b
タイプ B のオブジェクトにアタッチすると、 ob_as_b.b
"c" も出力されます。
これは意図した動作ですか?ob_as_b.b
明らかに、 「b」を印刷したいと思います。
class - Eiffel のクラス属性
いくつかの属性と関数で構成される、Eiffel でクラスを作成しようとしています。属性が setName に表示されないか、正しく初期化されないという問題が発生し続けています。コンパイラ エラー: VEVI: 変数が正しく設定されていません。属性: 名前。APPLICATION で TESTER オブジェクトをインスタンス化し、これらのメソッドを呼び出せるようにしたいと考えています。
arrays - Eiffel の配列からオブジェクトを追加および削除する方法
CRITTER オブジェクトの配列を保持する CONTAINER クラスを作成しようとしています (既に作成してテスト済みです。CRITTER スーパー クラスから継承しているさまざまな CRITTER 亜種があることに注意してください)。目的は、この配列に CRITTER オブジェクトを追加および削除することです。CONTAINER クラスは次のようになります。
2 つの問題: まず、APPLICATION 内で CONTAINER クラスをインスタンス化できますが、呼び出すときに
2 行目に前提条件の無効なインデックス違反エラーが表示されます。これは、配列の上限と下限を設定していないことが原因である可能性があります。ただし、そうしようとすると、構文エラーが発生します。この問題を解決する方法はどれですか?
次に、配列からオブジェクトを削除するために、インデックス値を取得できれば役立ちますが、何か不足していない限り、これを行う関数は見当たりません。
compiler-errors - Eiffel C コンパイラ エラー
Effiel スタジオを使用してコーディングを行っていますが、メニューの下の ErrorList に次のようなエラー メッセージが表示されていることに気付きました。「エラー コード: C コンパイラ エラー」
エラー: 外部 C/C++ コンパイルに失敗しました。何をすべきか: 詳細については、外部の C/C++ コンパイルを確認してください。」
Eiffel が得意な人は、それが何を意味し、どのようにデバッグするかを知っていますか?
algorithm - 偶数位置の単語を大文字にするにはどうすればよいですか?
これは私の eiffel プログラムで、基本的にスペースの削除 (特定のテキスト ファイル内の余分なスペースの削除) を行って、正規表現に従っています: A+(SA+)*EOL。ファイル内の各行は、アルファベットで始まる必要があります。アルファベット間のスペースは 1 つだけです。
私の質問は、このプログラムに基づいて、他のすべての単語を大文字にするように拡張するにはどうすればよいですか? つまり、2 番目、4 番目、6 番目などです。
eiffel - Eiffel アルゴリズム: 最初の繰り返し文字
私は学校の研究室で Eiffel でプログラミングを行っています。タスクの 1 つは、特定のアルゴリズムのバグを見つけることです。アルゴリズムは、最初の繰り返し文字を返します。
アルゴリズムは次のように機能します。
このバグを見つけるために最後の数時間を費やしましたが、常にすべてのテストに合格しています。
どんな助けでも大歓迎です。ありがとう。