Preserve operation order

未关闭
#7 20 条评论 12 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

  • #15 来自 @hermione03 —— 已关闭,未合并

评估

难度
5/5
预计耗时
一周以上
新手友好度
22/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
冷清
技术栈
android, kotlin
领域
mobile

调研方向

The payload names no source files, so start with the comment thread and the closed, unmerged pull request #15 to learn why it was not merged. The issue depends on the number data type change in issue #6 and on the parentheses and input-flow design, which the maintainers have not settled. Ask on the thread for a decision on the input design before writing code. Done means the whole expression is entered and evaluated with standard operator precedence and parentheses.

由索引模型根据 Issue 内容生成。

描述

feature request

Checklist

  • I made sure that there are no existing issues - open or closed - to which I could contribute my information.
  • I have read the FAQ and my problem isn't listed.
  • I have taken the time to fill in all the required details. I understand that the feature request will be dismissed otherwise.
  • This issue contains only one feature request.
  • I have read and understood the contribution guidelines.

Is your feature request related to a problem? Please describe.
Calculator currently does operations in a sequence, what can be a bit misleading, because all system calculators on Android I've seen were preserving operations order.

Describe the solution you'd like
Instead of current way of input, which works like traditional digital calculators, it should rather work like stock Android calculators. It should allow to input the whole equation and then compute it, preserving operation order. Also, while doing this, we should add support for parentheses, so user can override the default operation order.

Describe alternatives you've considered
In SMT Tibor wanted this feature to be only in scientific calculator mode (to be done maybe someday). However, I don't think it's a good idea, since stock calculators have this in every mode, not just scientific.

Additional context
Currently implementing it will be fairly easy, because Calculator is built on exp4j EvalEx library which preserves operation order. However, if we change the number data type (issue #6), it will need to be done differently. But doing it from the scratch shouldn't be very hard, it's just implementing the simple algorithms like Shunting Yard.

主要语言
Kotlin
星标
450
派生
57
平均合并
14 小时 59 分钟
30 天内合并 PR
13

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

FossifyOrg/Calculator 的其他 Issue

查看 FossifyOrg/Calculator 的全部 Issue

相似的 Issue

更多 Kotlin Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。