Squeak Smalltalk,为什么有时简化的方法不起作用?

2024-01-26

(2332 / 2332) reduced 
(2332 / 2) reduced 
(2332 / 322) reduced  (1166/161)
(2332 / 3) reduced  (2332/3)
(2332 / 2432423) reduced  (2332/2432423)

看看上面的代码。第一个和第二个打印出来后不起作用。弹出“消息无法理解”窗口。第三、四、五代码都可以。结果是正确的。

为什么reduced方法不起作用?

是因为简化方法无法处理像 Uko 猜测这样的整数的最终结果吗?


分数自动减少/方法。无需发送reduced信息。

例如。如果你打印结果

2 / 4

你得到减少的(1/2)自动地。

如果打印结果

2332 / 2332

它被减少到1这是not一个分数,但一个整数,而整数不理解reduced信息。这就是你收到错误的原因。

分数不会自动减少的唯一情况是当您手动创建它时,如下所示

Fraction numerator: 2 denominator: 4

这将回答非减少(2/4)。但在正常的算术表达式中你永远不需要发送reduced.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Squeak Smalltalk,为什么有时简化的方法不起作用? 的相关文章

  • 如何化简分数?

    如何在 C 中化简分数 例如 给定1 11 6 我需要它简化为2 5 6 如果你想要的只是将你的分数变成一个带分数 其小数部分是像前面假设的答案一样的真分数 你只需要添加numerator denominator到数字的整个部分并将分子设置
  • 函数中的“死方法上下文”错误

    我正在尝试写一个isBinary检查发送行是否包含任何不可打印字符 0 127 范围之外的整数值 的函数 isBinary sline Reached isBinary fn displayNl sline do char for each
  • 比较分数与结构

    该函数应该比较存储在两个结构中的两个分数 如果分数 L 分数 R 返回 0 如果 L gt R 返回 1 如果 R gt L 返回 1 这是我现在的代码 int compare fractions Fraction L Fraction R
  • 运算符重载:无法添加两个指针

    我创建了一个 Fraction 类 它具有用于在两个 Fraction 对象之间进行加 减 乘和除的成员函数以及所需的默认构造函数和复制构造函数 对于这个问题 我必须使用指针 不能使用向量 因为只有用户选择才能创建 Fraction 对象
  • 在 Centos 7.4x 上将 OSSubprocess 添加到我的 Pharo 6.1 时出现错误

    我想搞乱OSSubprocess 由马里亚诺 马丁内斯 佩克 来自 CentOS 7 4 上的 Pharo 6 1 我在 内搜索了Pharo Project Catalog并尝试安装它 我收到一个错误 ioLoadModule home s
  • Fraction 对象没有 __int__ 但 int(Fraction(...)) 仍然有效

    在Python中 当你有一个对象时 你可以使用以下命令将其转换为整数 int功能 例如int 1 3 将返回1 这在内部通过使用 int 在这种特殊情况下 对象的魔术方法float int 在Python中Fraction对象可用于构造精确
  • Smalltalk 块 - 我可以显式设置返回值并停止执行该块吗?

    value 消息发送到块时的返回值是该块中最后一句的值 所以 1 2 3 4 value评估为7 我发现有时很难使用 有没有办法显式设置返回值并停止执行块 作为练习 尝试在不使用我想象的 return 消息的情况下重写此块 看看它会变得多么
  • 2 个给定数字之间的分数密度

    我正在尝试对一个简单的问题进行一些分析Fraction类 我想要一些数据来与该类型进行比较doubles 问题 正确知道我正在寻找一些好方法来获得两个数字之间的分数密度 分数基本上是 2 个整数 例如pair lt long long gt
  • 在正则表达式替换中捕获字符串

    根据我从 Pharo 正则表达式文档中收集到的信息 我可以定义一个正则表达式对象 例如 re foo re bar asRegex 我可以通过以下方式将匹配的正则表达式替换为字符串 re copy foobar blah rebar rep
  • 法罗双重调度

    有人可以解释一下 Pharo 4 0 中使用 Smalltalk 进行双重调度的过程吗 我是 Smalltalk 的新手 很难掌握这个概念 因为与 Smalltalk 相比 它在 Java 中的实现方式非常不同 如果有人能用一个例子来解释它
  • setMaximumFractionDigits 的问题

    setMaximumFractionDigits 不适用于以下代码 NSString input 80 90 NSNumberFormatter numberFormatter NSNumberFormatter alloc init nu
  • 如何向用户询问文件名?

    搜索 FileDialog 的调用 我想向用户询问 Pharo 4 0 中的文件名 通过观察员我找到了班级 FileDialogWindow 用一种方法 answerFileName 寻找 answerFileName 的发件人 我去上课
  • 比较两个分数(< 和朋友)

    我有两个我喜欢比较的分数 它们的存储方式如下 struct fraction int64 t numerator int64 t denominator 目前 我这样比较它们 bool fraction le struct fraction
  • Squeak Smalltalk,为什么有时简化的方法不起作用?

    2332 2332 reduced 2332 2 reduced 2332 322 reduced 1166 161 2332 3 reduced 2332 3 2332 2432423 reduced 2332 2432423 看看上面的
  • 面向对象的实现策略

    我目前正在 Squeak 环境中学习 Smalltalk 并且正在阅读 Squeak A Quick Trip To ObjectLand 我带着一些 Python 和 Java 的先验知识进入了面向对象范式 书中第 36 页的这句话让我想
  • Pharo 5 无头模式下的调试

    我正在无头模式下使用 RFB 运行 pharo 5 海边 pharo vm display null vm sound null app pharo5 Pharo5 0 image no quit 在本地运行良好 带有 XFCE 的 Ubu
  • 如何从字符串中删除变音符号(变音符号)?

    如何转换字符串 例如P li lu ou k k p l belsk dy into Prilis zlutoucky kun upel dabelske ody 源字符串采用 Unicode 因此原则上应该可以使用规范化 分解来分隔元音变
  • 在 Smalltalk 中是否可以使临时变量声明成为可选?

    在编写使用临时文件的 Smalltalk 代码时 您可以编写如下内容 SequenceableCollection gt gt swap index1 with index2 temp temp self at index1 self at
  • 从头开始创建,还是从头开始构建?

    我正在考虑建立一个可视化编程语言 http en wikipedia org wiki Visual programming language 类似于Scratch http scratch mit edu 供儿童 又称可怜的打字员 在对微
  • 解释一下Smalltalk的一段代码?

    我无法理解这段 Smalltalk 代码 line self upTo Character cr size 0 whileTrue 有人可以帮忙解释一下吗 如果您有代码来源的映像 可以做的一件简单的事情就是在其上运行调试器并单步执行 如果您

随机推荐