问题标签 [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.
autocomplete - EiffelStudio:本地实体没有自动完成功能
我曾尝试将 EiffelStudio 用于一个小型 Eiffel 项目,但我意识到它的自动完成功能(按.,然后会出现一个功能列表)不适用于类型来自 Eiffel 库的本地实体。
例如:
- 本地集合:写入“ set. ”时, ARRAYED_SET[STRING]不会自动完成。
- 当使用结构if attach item(some_key) as localitems时,“ localitems. ”不会自动完成
我在 Linux Mint 上使用 Eiffel Studio 14.05 (x86/64)。我从官网下载了ES。我如何调整软件以自动完成本地实体?
variables - 未知的埃菲尔语法错误
我是埃菲尔编程的初学者,我只是尝试创建变量,但出现错误,这是我的代码:
我一直在“本地”单词上收到“语法错误”......没有任何细节。我很确定它确实很愚蠢,但无法找到它。谢谢!
function - 如何使一个类中的方法可以从另一个类中访问?
我是埃菲尔的初学者。我有2节课。主要的称为APPLICATION
:
和另一个名为BLUE
:
我想知道如何使类中的方法BLUE
可以从类中访问和调用APPLICATION
?
algorithm - 通过归纳证明算法正确
我应该通过归纳来证明一个算法,并且对于所有 n >= 0 ,它返回 3 n - 2 n 。这是用 Eiffel 编写的算法。
我的理解是,你分三步证明。基本步骤、归纳假设和完整性证明。这就是我目前所拥有的。
基础:
P(0) 返回 0,并且 3 0 - 2 0 = 0。
P(1) 返回 1,并且 3 1 - 2 1 = 1。
归纳假设:
假设 P(k)对于 0 <= k < n返回 3 k - 2 k 。
完整性证明:
对于 n,P(n) 返回 5(P(n-1)) - 6(P(n-2))
5(P(n-1)) - 6(P(n-2))
5(3 n-1 - 2 n-1 ) - 6(3 n-2 - 2 n-2 ) <- 基于归纳假设
这是我卡住的部分。我到底应该如何将其减少到看起来像 3 n - 2 n?
algorithm - 证明两个算法是相同的
我应该证明两种算法以相同的顺序执行相同的语句。一个是另一个的尾递归版本。它们是用埃菲尔写的。
然后是非尾递归版本。
其中 b(x)、c(x) 和 d(x) 分别是 BOOLEAN、result_type 和 instance_type 类型的任何函数。
这两种算法有何相似之处,它们如何以相同的顺序执行相同的语句?
web - 使用 EWF(Eiffel Web 框架)纯粹在 Eiffel 中构建网站有什么缺点?
我们希望在现有的 Eiffel 业务层核心之上构建一个网站,该核心位于 MS SQL Server 数据库之上。我目前正在考虑纯粹在 Eiffel、纯粹在典型的 web 堆栈或某种混合中编写 web 和移动层的优点和缺点。
对我们来说,纯埃菲尔铁塔有明显的优势,其中最重要的是:
- 其他语言中没有的继承和其他语言符号机制。
- 编译器无法查看其他语言的代码,因此我们处于同样的劣势,即我们从 Eiffel 跨出到其他语言中。
- 自动测试是我们在 Eiffel 代码中严重依赖的东西,它明显利用了契约式设计。在其他语言中,我们失去了这种能力,只剩下 TDD(例如他们在 Eiffel 中的 Auto-Test 版本)。
- 我们现在必须学习的不仅仅是:Eiffel、HTML-5、CSS-3、JS 以及我们使用的任何 JS 框架。
- 每一种新的语言和工具都会增加项目的复杂性。
- Eiffel 程序被编译为 C --> EXE,这比脚本和解释程序要快得多。
我认为现有的非埃菲尔语言也有一些明显的优势:
- 现有的框架和工具可以相当快速地开发简单到适度的网站和移动应用程序。
- 现有的“最佳实践”并不可怕,并且产生了相当可靠和可维护的代码。
我不确定所有的优点和缺点是什么,所以我问。然而,归根结底:我们的核心商务套件是纯粹的 Eiffel。那永远不会改变。
提前感谢您的反馈!
command-line - Eiffel中Hello World的命令行编译(Unknown root class error)
我正在尝试在 Eiffel 构建一个 hello world 程序,这就是我尝试的方式。我使用 Mac OS X 10.10。
我用
brew install eiffelstudio
. 一切正常,没有问题。我有所有的工具/usr/local/Cellar/eiffelstudio/14.05
我从这个站点想出了一个示例代码:https ://dev.eiffel.com/Compiling_Hello_World
这是代码。
我正在尝试将此代码构建为可以执行的二进制文件。
我试图ec hello.e
得到这个错误信息。
可能有什么问题?
algorithm - 摊销复杂度
在我的算法课上,我们讨论了摊销复杂度。不幸的是,由于参加体育比赛,我无法参加。在尝试联系教授解释这一点失败后,我被困在这里问了。什么是摊销复杂度,我如何找到它?我被分配了要做的工作,但不知道该怎么做。如果你们可以帮助我解决一个非常有帮助的问题或提供其他解释的参考。
这是问题所在:
假设没有溢出,考虑以下算法并将二进制数加 1,表示为 n 位数组:
这个算法在最坏的情况下显然是 O(n)。证明它的摊销复杂度是 O(1)。
我可以看到为什么最坏的情况是 O(n),但我不知道为什么它的摊销复杂度是 O(1)。甚至就此而言,摊销复杂性是多少。
java - 深堆栈的异常抛出性能
谈论一般的垃圾收集语言:
当调用堆栈越深抛出异常时,cpu 周期的性能会降低吗?
因此,如果在捕获它的同一个函数中抛出异常,它基本上会是一个 goto 吗?
function - 如何使用埃菲尔函数?
所以我才刚刚开始学习埃菲尔。我正在使用的书中的第一个练习中说要创建一个不使用 ^ 的函数来执行 base^exp。我在下面复制了我的代码。
我该如何使用它?我需要它与feature{NONE}
's相同的级别make
吗?我知道我怎么称呼它是错误的,我在刚刚阅读的章节中找不到任何内容,或者在网上找不到关于如何将参数传递给它或如何使用它的结果的任何内容。