1856_emacs_calc使用介绍与故事

2023-12-24 12:36

本文主要是介绍1856_emacs_calc使用介绍与故事,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Grey

全部学习内容汇总: GitHub - GreyZhang/g_org: my learning trip for org-mode

1856_emacs_calc使用介绍与故事

calc是emacs内置的一个计算器,可以提供多种计算表达方式并且可以支持org-mode中的表格功能。

主题由来介绍

我是因为想要了解org-mode的表格功能才来做calc的了解的,本来我的想法是简单浏览一下就过去。不过,一个简单的入门说明以及开发背后的信息故事让我觉得这段技术文档写得荡气回肠,因此还是把这部分信息做了一个整理。

资料整理过程说明

关于org-mode的表格相关文档链接: The Spreadsheet (The Org Manual)

上面这部分资料我还没有完全看完,因为calc是什么我还不是很熟悉,因此暂且还是先转头了解calc了。

GNU Emacs Calc Manual

上面这个链接是calc的手册,我这一次参考的主要是第一个章节的部分。

资料分析

  • 这个功能实现了HP-28、48系列计算器的很多功能。
  • 支持任意精度的浮点类型。
  • 支持符号运算
  • 支持调用GNUPLOT来绘制图形,这个软件如何用,后面可以做一个简单了解在判断是否需要掌握。
  • HP-28/48我并不熟悉,去查了一下其实是一种便携式的计算器。具体的一个效果如下:

  • hpcalc.org - HP Calculator Archive
  • HP的计算器所能够提供的,而是扩充了很多。别的不说,符号计算以及绘图的调用肯定是不在其中的。

    • 后面章节中的教程部分,有多达70多个例子。描述的风格是偏向于时间操作的。从掌握一个工具的角度考虑,这部分其实是值得研究理解的。首先看看calc可以做什么,哪些可以用于我自己的需求场景,针对可以用于我自己需要的部分做针对性的练习。之后,处理类似的问题应该就可以从容应对。
    • 至于参考手册,使用方式可以按照查询的方式来使用。不过,手册覆盖的内容应该是要有一定的了解。

  • 我为了能够有更好的文档阅读体验,通过自己的工具把html的信息转成了pdf以离线查看。其实,emacs的内部是有一个内置的calc文档的。可以通过C-x * t来打开教程的手册,也能够进行不同章节以及层级的跳转。
  • 在emacs的源代码中是有TEX的源代码的,可以通过源代码生成pdf文档。这个过程略微麻烦,倒不如我直接从html网页提取来的干脆了。

    • 这是calc支持的几种操作模式,主要是三种方式,第一种是照搬了惠普计算器的RPN模式;第二种是代数表达式的模式;第三种类似图形界面。
    • 关于什么是RPN,我还找了一份资料来看了下。其实就是惠普的计算器操作模式,逆向波兰标记方法。下面的链接中有介绍,也有一个可以在线体验的计算器。
    1. 链接: Reverse Polish Notation (RPN) Calculator

    1. Polish Notation (RPN) provides the quickest way to enter data in a calculator because it eliminates the need for parenthesis. It was made mainstream by HP when they implemented it in their famous programmable calculators. It is also very simple to code into a computer program. This is a simple online RPN calculator for you to try out. It's written in Javascript

How to use it

Unlike with a traditional calculator, you enter the parameters first, than the operator. For example, to calculate '20+50': type '20' -> Press Enter -> '50' -> Press '+'

  • The 'C' key deletes the input line.
  • The 'AC' key deletes the whole stack.
  • Use the 'POP' key to remove the last value entered and shift the stack down, and the 'SWAP' key to swap the last two elements.

    • calc提供了单位转换的功能
    • 还提供了日期计算的功能。
    • 关于这两个功能,感觉我大概率用不到。如果需要类似的功能,或许我大概率会使用python来处理一下。除非我是在org-mode中使用表格处理。不过,即使是使用表格处理,大概率也可能是直接使用 org-babel 的功能直接处理掉。

      • calc的标准接口模式其实就是RPN模式(可能用过HP计算器的会对此情有独钟,但是我觉得这种输入方式脱离了自然表达的流畅)

  • 如果退出之后,重新进入calc不会保持之前的对话模式。不过,也有对应的方法可以实现保存的效果。
  • 这里也额外提到了其他的calc的关闭方式。

  • 快速计算的模式可以提供比较直接的代数运算表达处理,我试了也支持符号运算。
  • 相比之下,我觉得这个可能会是一个比较实用的功能。其他的功能,由于操作的便捷性以及处理效率等方面,可能不会是我在自己工作流中的选择方案。

  • 这是前面提到的第三种接口模式,用文本的方式实现了一个类似图形的计算器,而且可以使用鼠标操作。
  • 这种方式足够新颖也足够神奇,但是想要快速融合到自己的工作流中肯定得费费心思。想来想去,总觉得不如临时切入到python之中处理。

  • 很多作品的设计驱动,最初其实都是来自于满足自我的需求。

  • 很多时候,软件设计的灵魂就是算法甚至说是数学理论。更不用说计算机设计本身,从这里看得出来作者这方面的功力深厚。

  • 这是让我觉得比较有意思的一段描述。很多时候,设计源自于生活。当然,也可能是生活中看到的其他人的设计。最初,我也搞不清为什么作者会考虑照搬一个HP的计算器,难道是他自己使用过这样的计算器用着很顺手?原来,这个创意来自于看到了朋友的计算器。

  • 一个好汉三个帮,calc的实现背后,也有数学高手的支持。

  • 在参考的资料中,出现了高德纳老爷子的TAOCP第二卷。看起来,这部巨著能够催生无限的力量,以后我也一定要把我自己买的翻一下。
  • 最后两部分的着色部分,让我有些吃惊。前面作者讲过,设计calc只是为了填补自己时间的空档期,希望能够占用两周的时间。而且,开发的时候他似乎对emacs lisp等并没有什么了解。看到前面的说明,我以为这个项目的开发肯定是时间巨长无比的。没想到,作者还是在两周内完成了这样的功能。而这里提到了一份emacs lisp的教程,并且还提到了RMS的emacs能够提供的帮助。然而,我终究还是怀疑。或许,这里两周完成的只是一个基本的操作版本,不然,需要耗费几百页来说明用法的一个工具,2周的时间做完那的确是神级的生产力了。

小结

以上就是对于calc初步的认识,设计的过程以及背后的故事十分有趣。本以为对calc的了解会是一看即过的,但是这种有趣的事情以及功能,还是值得整理到自己的笔记系统之中的。

这篇关于1856_emacs_calc使用介绍与故事的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/531796

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}