整理一些《纸书科学计算器》的小Tips

 

本文最开始是在2016年的文章 Win10应用《纸书科学计算器》更新啦! 发表之后撰写的,当时那篇文章收到了不少人点赞,应用在国内市场的日下载量也突然上涨,让我感到受宠若惊,这里要感谢Wp-apps专栏和你们的支持,我们都是喜欢和关注UWP的粉丝!

然而有几个小Tips和彩蛋,帮助页面上没地方写(也不想让用户看到太多字),但不说又觉得缺点什么,还是整理出来单独发篇文章吧。本文会跟着《纸书》的更新而保持更新,这些小Tips则基于《纸书》的最新版本。


1.表达式输入

有三种输入表达式的方式:界面上的键盘、实际键盘、粘贴。除了用界面键盘,在某些情形下,用实际键盘输入也是很方便的。但是在输入复杂运算符时要注意表达式的格式,遇到不能解析的情况,可以先用相应的界面按钮输入,看看正确的格式是什么。

键盘上有以下几个特殊功能键:

  • 左方向键:光标左移(相当于界面上的“<”按钮)
  • 右方向键:光标右移(相当于界面上的“>”按钮)
  • 上方向键:光标移到第一位(相当于界面上的“«”按钮)
  • 下方向键:光标移到最后一位(相当于界面上的“»”按钮)
  • PageUp:转到上一条历史记录(相当于界面上的“⇐”按钮)
  • PageDown:转到下一条历史记录(相当于界面上的“⇒”按钮)
  • 回车:完整运算(相当于界面上的“=”按钮)


在《纸书》里,输入框的光标是以橙色字符显示的。而实际上真正的光标位于橙色字符的前方。

比如下图的状态,光标在第0位,新字符会在“1”的前面输入。

 

而下面这张图的状态,光标在最后一位,新字符会在“2”的后面输入(光标后面没有字符了,所以也没有字符变成橙色)。

 

除了界面和键盘上的方向键,用鼠标或手指点击输入框某处,也可以改变光标位置。同时,点击表达式显示区上的某数字,在表达式输入区也会自动定位:

 

另外需要注意的是,表达式显示区和输入框不一定是完全同步的。显示区只会根据你的输入,实时显示尽量合法化的表达式。


2.运算符优先级

按从高到低排列:

  1. 虽然需要括号,在输入时却省略掉括号的函数(如√、sin、ln、abs等函数后面直接跟数字的情况)
  2. 乘方(^)、开任意次方(yroot)
  3. 排列数(nPr)、组合数(nCr)
  4. 乘(*)、除(/)、取余(mod)
  5. 加(+)、减(-)
  6. 矩阵行内分隔(,)、矩阵换行(,,)

3.按键布局调整

汉堡按钮“≡”下有一个二级菜单“按键布局”,里面有许多设置项,可以根据自己需要灵活更改界面上的按键布局。

相对来讲,移动端使用这些设置的频率会更高一些。比如,为了使数字键面积更大以适应小屏设备,《纸书》在移动端是默认隐藏高级运算符的。初始界面是这样:

 

如果需要使用高级运算符,选中“显示高级运算符”菜单项即可。

此外,在移动端的横屏模式,默认的按键布局与PC端也有不同:


4.小彩蛋

由于用实际键盘可以输入任意字符,那么输入特定的单词并进行计算,会被当作特殊命令

比如“help”、“version”、“about”、“rate”、“review”这些命令的功能从字面上就能看懂,而“white”和“black”可以改变显示区色调。

那如果计算我的名字“Howard Zhang”会有什么效果呢?

 

答案是会召唤出来一只戴着礼帽和披风,象征着纸书科学计算器之魂的“Answer Man”(是有多中二)!快去试一下吧。这个Answer Man是用表达式画出来的,如果你掌握了表达式的规律就不难理解。其实它是这样一串表达式,在输入框里也可以找到:

 

(?/Abs(?,Ans,?)/((0,π,0)/Abs(Abs(1,,1,,1/0),Abs(11,0,11,,11,0,11,,11,0,11)/Abs(Abs(?,,?)),Abs(1,,1,,1/0))))/Abs(?,Abs(?),?,Abs(?),?,Abs(?),?)/?          [*** The answer man has been looking at you! ***]

 

可以看出,构图主要使用了矩阵、行列式和分数线,并有大量的“?”符号。“?”是占位符,是一个我并没有加入到界面键盘中的常量,大小为一个数字大,不会显示出来。而方括号代表注释,可以出现在任何地方,方括号括住的内容不会被解析。

其实召唤Answer Man有个更简单直观的办法,直接输入单独的常量Ans,点击等号即可召唤:

 

当然,如果Ans常量参与到其他运算中,还是会代表上一次运算结果的。


结语

这次整理的Tips就是这些,如果《纸书》更新后有需要介绍的新Tips,我会尽快更新本文。

欢迎大家到应用商店评论反馈,如果喜欢本应用,更欢迎大家捐赠一顿饭钱支持开发者(捐赠入口在关于界面,或者用特殊命令“donate”、“money”也可以)。

最后,祝大家使用愉快!

posted @ 2017-02-16 15:58  HowardZhang  阅读(1361)  评论(0编辑  收藏  举报