問題タブ [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.
compilation - EiffelStudio、プロジェクト読み取り専用: コンパイルできません
私はエッフェルにある私の大学と共同プロジェクトを行っています。プロジェクトをダウンロードしたところ、次の問題が発生しました。
で作業するNameProject_as_library.ecf
必要があるため、as_library タイプで作業する必要があります。問題はここにありますRead-only project: cannot compile
.
EiffelStudio でこの問題のオプションを検索しようとしましたがLibrary readonly = true/false
、プロジェクト -> プロジェクト設定でオプションを見つけました。true に設定されていたので、false に設定しましたが、何も変更されません。
誰でも私を助けることができますか?
oop - 純粋な OO に関するさまざまな質問 (アイデアなしでセットアップする、チュートリアル、関連書籍)
しばらく純粋な OO 言語を使いたいと思っていましたが、どれも IDE を要求しているように見え、ビデオにない優れたチュートリアルが見つからないという事実に気が進まないのです。フォーマット。
後でIDE を使用できてうれしいですが、IDEを通じて言語を学びたくありません。私が探しているのは、gcc、ghc、ghci、および python IDLE などの単純なコンソール インタープリターまたはコマンドライン コンパイラーです (はい、これは IDE ですが、コマンドライン インタープリターにすぎないほどミニマリストです)。同時に IDE に取り組もうとしていないときの方が、言語をより速く、より適切に、より包括的に学習できることがわかります。ですから、きしむだけが唯一の方法だとは言わないでください:P
また、視覚的ではなくテキストで提示されるチュートリアルも探しています。繰り返しになりますが、ビデオを一時停止して 10 秒前に戻し、再生ボタンを押して何度も何度も繰り返すよりも、ページをじっと見つめて誰かの文章を何度も頭の中で投げたり回したりできる方が、より速く学習できます。そしてまた。
私はさまざまな程度の OO 純度を持つさまざまな言語に興味があり、ある時点でそれらすべてを学習する予定です。smalltalk 方言のいずれか、Self (smalltalk の極端なプロトタイプ指向バージョン (非常に興味深い、より過激な方が良い imo))、strongtalk、vanilla smalltalk (または、可能な限りバニラの実装) のいずれかに興味があります。
私は Eiffel にも興味があります。私が見たコード スニペットは非常にエレガントに見え、実際には非常に革新的であると読んだことがあります (コード コントラクトの導入など)。しかし、額面通りの Eiffel は OO と命令型プログラミングのハイブリッドのように見えるため、私は Eiffel 側の言語よりも smalltalk 陣営の言語を優先します。同様に、Scala (ハイブリッド OO と関数型) やその他のハイブリッド言語も避けたいと思います。したがって、C#、Java、C++、D、python などはありません。これらの言語が悪いと信じているからといって、これらの言語を却下しているわけではありません。純粋な OO を学習しようとしているだけであり、それらの言語はハイブリッド OO です。そうではありません。本当に私が探しているもの。
また、どなたか公式本をお勧めしていただけないでしょうか?smalltalk については、"Blue book" AKA "Smalltalk-80: The Language and its Implementation" があります。エッフェルには「エッフェル:言語」があります。私の経験では、言語の作者 (C プログラミング言語の K&R を参照) によって書かれた本を読んだり、一般的な本を読んだりすることで、多くのことを理解できるからです。
はい、私の質問: どの純粋な OO 言語から始めるのが良いでしょうか? IDE を使用せずに学習するにはどうすればよいでしょうか? また、その言語の著者によって書かれた関連書籍はありますか?
c++ - C++コンストラクターでエッフェルを「作成」しますか?
C++ のコンストラクタと Eiffels の create プロシージャ宣言の違いは何ですか?
1 つのクラスに対して複数のコンストラクター関数を使用できることには、どのような価値がありますか? それとも、Eiffels の「作成」には他に何か利点がありますか?
ありがとうございました
keyword - この大文字と小文字の区別は、実際には何を意味するのでしょうか?
大文字と小文字を区別する言語と、大文字と小文字を区別しない言語があることは誰もが知っています。私が見つけた詳細によると、Eiffelは大文字と小文字を区別しません。言語が大文字と小文字を区別しない場合、それはそのキーワードも大文字と小文字を区別しないことを意味しますよね? しかし、エッフェルには小さな問題があります。以下のリンクをご覧ください。
http://docs.eiffel.com/book/method/eiffel-language-reserved-words#False
上記のリンクには、Eiffel キーワードのリストが含まれています。通常、言語で大文字と小文字が区別されない場合、Web サイトではすべてのキーワードが小文字または大文字で表示されます。ただし、上記のリンクでは、1.12、1.23 などのキーワードにケースがあります。つまり、キーワード「True」、「False」、「TUPLE」、「Void」などには、小文字と大文字の両方が含まれています。
では、これは Eiffelキーワードで大文字と小文字が区別されるということですか? 答えが「いいえ」の場合、なぜそのように記載されているのでしょうか?
agent - インライン エージェントからのローカル変数へのアクセス
dos_key_exist を実装しようとしていますが、以下のコードで実行できると思いました。しかし、コンパイルエラー key not found 行が表示されます: Result := not (x.key = key)
定義:
eiffel - 定数の代入で等号を使用するのはなぜですか?
エッフェルの定数について質問があります。それは単なる意味論の問題ですが、しばらくの間私を悩ませてきました。私はこの専門分野の概念を理解していません.
あなたが使用する通常の割り当ての場合、:=
これは割り当ての数学記号であるため、数学的思考において完全に意味があります
しかし、定数の定義を見ると:
ここで等号を使用する理由がわかりません。何か理由があるのでしょうか?私はそれを次のように理解します: 値 5 を定数に割り当てますが、なぜブール式なのですか?
誰かがこの背後にある概念を説明できることを願っています
web-applications - Eiffel で Web アプリケーションを開発するにはどうすればよいですか?
Eiffel で Web アプリケーションを開発するにはどうすればよいですか?
エッフェルの webapp フレームワークはありますか?
eiffel で開発された Web アプリケーションの例はありますか?
oop - Eiffel の自動型変換機能が普及していないのはなぜですか?
Java でプログラミング中に起こったこと:
fooFrom
しかし、Foo オブジェクトが除外される場所に文字列が渡されるたびに、定義した変換関数を使用するだけの「自動型変換」の可能性を考えました。
検索の結果、次のEiffel の例を使用した型変換に関するウィキペディアのページにたどり着きました。
以降のメソッドconvert
は、STRING_8 が SYSTEM_STRING として使用されている場合、またはその逆の場合に自動的に呼び出されます。これをサポートする他の言語を見つけることができなかったのは、なんとなく驚きでした。
私の質問: この機能をサポートする他の言語はありますか? そうでない場合、それは私にとって非常に便利だと思われるので、その理由はありますか? さらに、言語アドオンとして実装することも難しくないと思います。
eiffel - Eiffel を使用する使用可能なプロセッサーの数
私は Eiffels SCOOP をいじっています。
私のプログラムでは、多数のワーカーが並行して実行されます。利用可能なプロセッサと同じ数のワーカーを作成したいと考えています。
エッフェルで利用可能なプロセッサの数を見つけるための「簡単な」方法はありますか?