2

我有一个关于埃菲尔常数的问题。嗯,这只是一个语义问题,但它已经困扰我一段时间了,我只是不明白这个专业的概念。

对于您使用的正常作业,:=这在数学思维中完全有意义,因为它是作业的数学符号

但是如果我们看一下常量的定义:

feature
    some_constant: INTEGER = 5

我只是不明白为什么我们在那里使用等号。有一定的原因吗?我会这样理解:我们将值 5 分配给常量,但为什么是布尔表达式?

我希望有人可以解释这背后的概念

4

1 回答 1

1

您必须将=标志视为恒定功能的快速合同。

foo: INTEGER = 5

将等同于

foo: INTEGER
  ensure
    Result = 5

请注意,这是最近的语法更改,之前是

foo: INTEGER is 5

但是 Eiffel 规范is完全删除了该关键字。

于 2012-08-13T13:24:20.497 回答