问题标签 [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.

0 投票
2 回答
290 浏览

haskell - 原始类型作为 Haskell 中的扩展类?

在 Eiffel 中,允许使用不从堆中分配的扩展类。从开发人员的角度来看,很少需要考虑从 Int 到 Float 的转换,因为它是自动的。我的问题是:为什么 Haskell 没有选择类似的方法来建模 Num。具体来说,让我们考虑 Int 实例。这是我提出问题的理由:

第二个列表是我没想到的,因为根据定义,在任何两个整数之间都有无限的浮点数。当然,一旦我们测试了这个序列,很明显它会返回四舍五入的浮点数的底数。需要这些转换的原因之一是允许我们计算一组整数的平均值。

在 Eiffel 中,数字类型层次结构对程序员更友好一些,并且可以根据需要进行转换:例如,创建一个序列仍然可以是一组导致浮点均值的 Ints。这具有可读性优势。

扩展类没有在 Haskell 中实现是有原因的吗?任何参考都会有很大帮助。

@ony:关于并行策略的要点:使用原语时我们不会面临同样的问题吗?该手册确实不鼓励使用原语,这对我来说一般来说是有意义的,只要我们可以使用原语,我们可能需要使用抽象类型。我在尝试对数字求平均值时遇到的问题是缺少 Fractional Int 实例,以及为什么 5/3 不提升为浮点而不是创建浮点数组来获得相同的结果。为什么没有定义 Int 和 Integer 的 Fractional 实例一定是有原因的?这可以帮助我更好地理解其中的原理。

@leftroundabout:问题不在于扩展类本身,而是此类功能可以提供的便利性,尽管仅该功能不足以处理从 int 浮动的类型提升,例如我在对@ony 的回复中提到的。让我们以均值的经典示例为例,尝试将其定义为

如果我不必调用 fromIntegral 来使 mean 函数工作并且与缺少的Fractional Int相关联,我会喜欢它。虽然解释似乎有道理,但它必须,我不明白的是,如果我清楚我期望一个 double 并且我在我的类型签名中声明它是否不足以进行适当的转换?

0 投票
1 回答
74 浏览

syntax - 我不确定在 eiffel 中使用的正确语法?

我有一个特点

它只是检查两个美分(cents < other.cents)是否大于。即使我将其设置得太真,我也无法让结果返回真:

结果 := temp -----> 结果 := true

0 投票
1 回答
60 浏览

inheritance - 需要帮助 多态性

让我举一个我需要帮助的例子:

主类:

所以,类Combined_Currency有一个类Currency。Currency 类具有例如属性exchange_rate。我相信这Combined_Currency门课会有类似的东西:

我的问题是如何实现该exchange_rate部分?我认为 exchange_rate 是一个常数,所以我不需要对其进行任何设置。我需要它来检查是否: cad.exchange_rate = 1.5

我在哪个类中将 exchange_rate 设置为相应的货币?有人可以给我一个想法是什么cad := cc.cad意思。

0 投票
1 回答
206 浏览

polymorphism - 在不创建实例的情况下进行初始化 (Eiffel)

这是关于班级的 BON 图。

请注意,在示例中,属性未创建到实例中。在运行时a使用take_offfrom b。我只是想知道如何take_off在 B_747 类中初始化。在我的作业中,我有一个案例,就像 b := a.b c := a.cwhereB_747 bceach 具有相同的属性,但分配给每个的值不同。我不知道如何在没有实例化的情况下初始化属性。它说我不允许使用b.make ("abc", 123)。有人可以给我一个关于如何实现这个的例子。另外,我不确定b:=a.b真正的含义。

0 投票
1 回答
430 浏览

arrays - 在 Eiffel 中初始化数组


第一类由一个数组及其大小组成。当我尝试创建mARRAY 的对象时,我将print(m.size). 我是否正确实例化了数组?我是否使用了正确的make功能ARRAY?为什么不打印任何东西?

--------------------------


当我留下make空白时,这实际上有效。它打印出来0。但这不好,因为显然如果我使用数组 in 调用其他函数MAP,它将不起作用。我实际上尝试使用 ARRAY 类中的其他函数,但出现编译错误。

0 投票
2 回答
166 浏览

file-io - 如何在埃菲尔附加到文件末尾而不删除其先前的内容

我正在用 eiffel 编程,每次我打开一个文件并开始写入它时,它都会删除它的内容并开始写入它,就像它是一个空文件一样,有没有办法在不删除以前的内容的情况下做到这一点?

这是一个代码示例

现在文件将包含 3 并且所有以前的数据都将丢失!

0 投票
2 回答
527 浏览

iterator - MAP 上的 Eiffel Iterable 实现?

我有一个名为 MAP 的课程:

我在地图光标内实现了新光标,它返回和

并将该可迭代游标传递给 KEYS 数组以进行迭代

我实现了MAP_ITERATOR_CURSOR [KEY]课程

对于这个类,我实现了功能项:VAL但是因为该类是用它定义的,KEY所以我无法识别VAL如何让MAP_ITERATOR_CURSOR [KEY]项功能返回VAL与我们目前使用的键相关联的项?

知道MAP有一个名为 item 的函数,它获取键并返回VAL与该键相关联

0 投票
1 回答
182 浏览

apache - Apache Web server using fcgi

I have web application server that handles requests and returns response created in Eiffel web framework and uses fcgi as a connector, and I have put the final executable file in the htdocs file (app.exe).

Now I want to run apache with fastcgi and start the application and run it in localhost. I modified the httpconf file as below, but its not running.

I have loaded the 2 modules fcgid and rewrite.

0 投票
1 回答
147 浏览

eiffel - 哪些 Eiffel 编译器使用 Earley 解析

我偶然发现这篇文章http://compilers.iecc.com/comparch/article/02-04-096 说有两个使用 Earley 解析的 Eiffel 编译器。帖子比较老了。我想知道这里是否有人知道哪些 Eiffel 编译器使用 Earley 解析器以及它们是否仍在使用?链接高度赞赏。

0 投票
2 回答
920 浏览

exception - Eiffel 中的错误处理示例

我在 Eiffel 中找不到任何实质性的错误处理示例。我只找到了一些例子,要么是微不足道的,要么完全忽略错误,或者将错误处理留给读者。我有兴趣了解在没有异常的情况下错误如何通过调用堆栈。例如,我想知道发送网络请求的应用程序如何通知用户在调用链中检测到的网络问题。类似的东西。

--

编辑:我确实知道 Eiffel 中错误处理的基础知识(状态和异常)。但是,我找不到任何关于应用程序如何通过状态处理错误的实质性示例。故障状态如何链接?