问题标签 [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.
eiffel - 将 Eiffel 循环翻译成不支持循环不变量/变量的语言
Eiffel 中的循环遵循以下格式:
您如何将上述 Eiffel 伪代码翻译成不支持循环不变量/变量的语言?让我们假设这样的目标语言有一个assert
检查不变量/变量的指令。
eiffel - Eiffel 中具有特征的后条件违规
这是课程的一部分。这个类被称为 BAG[G -> {HASHABLE, COMPARABLE}] 它继承自 ADT_BAG,ADT_BAG 具有延迟功能,例如计数、扩展、删除、remove_all、add_all...更多,以及要重新实现的域。
域返回 ARRAY[G],它是 G 的排序数组列表
我总是得到后置条件违规“value_semantics”,这与对象比较有关,但我检查过,没有用于对象比较的代码,这很奇怪。
我多次尝试重新制作域功能的代码,但它总是以违反后置条件或失败而告终。
当我检查调试器时,从域返回的数组“a”总是计数为 0,但这没有意义,因为我将键从表移动到“a”但计数仍然为 0。
也许我将错误的键转移到数组?
代码:
测试代码:
sockets - 在 Eiffel 网上启动客户端-服务器模型的开发人员异常
我正在尝试使用 Eiffel 编程语言在同一 LAN 上的两台 PC 之间使用套接字建立连接。我正在尝试运行 Eiffel Studio 安装目录中默认的示例。但是现在我正试图通过寻址到本地主机(127.0.0.1)在同一台机器上实现它。
它在 Linux(Ubuntu 15.10)上完美运行,但在 Windows 7 上,当我尝试运行客户端程序时出现异常。异常代码为 24 无法建立连接。服务器程序运行得很好,我已经在 linux 上的客户端和 windows 上的服务器之间建立了连接。我在文档或其他网站上都没有找到解决此异常的方法。这是一个屏幕截图:
这是文档的链接:
https://www.eiffel.org/doc/solutions/Two%20Machines
先感谢您。
void - Eiffel 附加语句中的局部变量有什么意义?
在 Eiffel 中,Void Safety 是一种静态防止取消引用未初始化(“null”)对象的方法。它的工作方式是,首先,必须将对象声明为detachable,然后您需要在 if 块中检查该对象是否实际附加(即具有某些值),然后才能使用它。
这就是我到目前为止一直在使用它的方式:
工作得很好:没有附加检查,编译失败并出现“Object_call 的目标可能无效”错误。然而,在实际阅读了关于 Void Safety 的文档之后,我了解到这实际上是它应该看起来的样子:
在这种形式中,是if 块的局部l_some_object
变量,它指向与相同的对象,但静态保证为非 void。some_object
但是,我看不出这个 as-clause 存在的原因。正如我上面所指出的,显然原件some_object
已经在 if 块中静态保证是非空的,那么引入另一个变量有什么意义呢?
除了范围之外,some_object
和之间有什么区别?l_some_object
macos - 运行 EiffelStudio 的库版本不兼容
我像这样安装了 EiffelStudio:
1)从官方页面下载Eiffel_15.12_gpl_98497-macosx-x86-64.tar.bz2 。
2)
cd /usr/本地
tar xvfj /路径/Eiffel_15.12.tar.bz2
3)
导出 ISE_EIFFEL=/usr/local/Eiffel_15.12
出口 ISE_PLATFORM=macosx-x86-64
导出 PATH=$PATH:$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin
然后我输入“ ec ”来运行命令行编译器,这是输出:
dyld:库未加载:/opt/local/lib/libiconv.2.dylib
引用自:/usr/local/Eiffel_15.12/studio/spec/macosx-x86-64/bin/ec
原因:库版本不兼容:ec需要8.0.0或更高版本,但libiconv.2.dylib提供7.0.0版本
跟踪/BPT 陷阱:5
有什么解决办法吗?
PS:我使用的是 OSX 10.11.4
PPS:当我跑步时
otool -L $(哪个ec)
我明白了
/usr/local/Eiffel_15.12/studio/spec/macosx-x86-64/bin/ec:
/opt/local/lib/libiconv.2.dylib(兼容版本 8.0.0,当前版本 8.1.0)
...
编辑:我发现这个链接对我有帮助
https://stackoverflow.com/a/19016967/6273708
但知道错误信息是
dyld:库未加载:/opt/local/lib/libgtk-x11-2.0.0.dylib
引用自:/usr/local/Eiffel_15.12/studio/spec/macosx-x86-64/bin/ec
原因:找不到图片
跟踪/BPT 陷阱:5
functional-programming - 使用 Eiffel 代理的函数组合
我正在尝试用 Eiffel 编程语言进行函数组合。通过函数组合,我的意思是创建一个函数,它接受两个函数 f(x)、g(x) 并返回一个函数 f(g(x))。
问题是内联代理无法访问本地值。在下面的代码中,f 和 g 是代理中的未知标识符。
我怀疑可能有某种方法可以通过使用一个接受一个整数和两个函数参数的代理,然后将 f 和 g 显式传递给该代理,但我不确定。
如果有人可以提供一些见解,将不胜感激。
syntax - Eiffel - 不知道为什么我有语法错误
我是 Eiffel 的新手,我正在尝试创建一个名为“Monomio”的简单类,我有 3 个作为属性的特性和一个作为函数的特性。问题是我遇到了语法错误,我将它与我找到的其他类进行了比较,但在这里找不到错误。这是我的代码
这是我得到的错误:
我希望任何人都可以帮助我。谢谢。
project-organization - 埃菲尔合同质疑
我正在开发一个用 Eiffel 语言编写的规划软件,我创建了以下代码,但我不太确定应该为此类的例程指定哪种后置条件和/或前置条件。
如果您可以为此提供语法提示,那就太好了,因为我不是埃菲尔语言的大师,而且以我目前的知识水平,它的关键字仍然有点棘手且难以理解。
linked-list - Eiffel - 如何初始化 LINKED_LIST?
我是 Eiffel 的新手,我正在尝试创建 Linked_List 的实例。我不太确定如何使用此类,因为每当我尝试这样做时都会收到语法错误。这就是我所拥有的:
我得到的错误是:
我希望有人可以帮助我解决这个问题,谢谢。