代码之家  ›  专栏  ›  技术社区  ›  Pipo

艾菲尔:转换方法在代理调用参数的情况下工作吗?

  •  0
  • Pipo  · 技术社区  · 6 年前

    我用一个整型的参数调用一个过程。我实现了一个瓦特类,它可以从整数_64创建它,当达到这一点时,执行似乎停止了,我哪里出错了?

    catcall detected for argument 1 args':expected tuple[!瓦特]但得到了元组[integer_64]`

    附加案例(更新)

    实际上,当检查语法时

    attached integer_64 my_watt_object as l_int
    

    它也不会通过…这是预期的行为吗?

    实际上,在我看来,语义案例是相同的,必须验证对于我而言(但似乎不适用于language between conformity/conformity)的定义,它表示

    < Buff行情>

    一致性和可兑换性彼此排斥, P.88/P> < /块引用>

    一致性规则对定义为“从瓦特到整数”的类型有效吗?[答:]离子到达这一点就停止了,我错在哪里了?

    Catcall detected for argument#1参数:应为元组[!瓦特]但得到了元组[integer_64]`

    code_and_situation

    附加案例(更新)

    实际上,当检查语法时

    attached {INTEGER_64} my_watt_object as l_int
    

    enter image description here

    它也不会通过…这是预期的行为吗?

    实际上,在我看来,语义案例是相同的,必须验证一致性步骤…对我来说(但似乎不适用于language between conformance/conformity哪说

    一致性和可兑换性彼此排斥, P.78

    一致性规则对定义为convert一种类型到另一种类型,我的情况是从瓦特到整数_64?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Alexander Kogtenkov    6 年前

    在eiffel中,语言指定的转换只在编译时工作。如果重新附加的源代码在编译时不符合重新附加的目标,并且有相应的转换特性,则应用此方法。

    运行时不执行自动转换。如果您需要这个功能,您需要自己实现它。在您的示例中,如果参数类型为 WATT ,您需要调用转换自 INTEGER_64 瓦特 显式传递类型的对象 瓦特 不是 整数64 .