首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
与众不同的程序员
LiuTao9292
创建于2021-05-22
订阅专栏
与众不同
等 4 人订阅
共35篇文章
创建于2021-05-22
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
LiuTao9292
17天前
Lisp
后端
编程语言
在 Lisp 中使用 reader macro 支持 JSON 语法
在 Lisp 中使用 reader macro 支持 JSON 语法 什么是 reader macro? Reader macro 是 Common Lisp 提供的众多有趣特性之一,它让语言的使用者
1011
点赞
评论
LiuTao9292
1月前
Lisp
使用 call/cc 实现计数循环
从 Python、C 语言的计数循环切入,讲解什么是计数循环。再将计数循环拆解为 while、goto 等语句,揭示出可以用 continuation 来实现计数循环,并进行演示。
322
点赞
评论
LiuTao9292
9月前
Lisp
命令行
后端
如何在CommonLisp中解析命令行参数
clingon 是一个 Common Lisp 的命令行选项的解析器,它可以轻松地解析具有复杂格式的命令行选项。例如,下面的代码可以打印给定次数的打招呼信息
770
点赞
评论
LiuTao9292
1年前
Lisp
后端
自己动手打印整数
在 Common Lisp 中,打印整数一般用函数format。例如,上面的代码会往标准输出中打印出233这个数字: 除此之外,format还可以控制打印内容的宽度、填充字符、是否打印正负号等方面。例
171
点赞
评论
LiuTao9292
1年前
Lisp
Java
后端
关于为什么Java是单派发以及Common Lisp又伟大了一次的这档子事
众所周知,在 Java 语言中支持基于子类型的多态,例如某百科全书中就给了一个基于Animal及其两个子类的例子(代码经过我微微调整) 基于子类型的多态要求在程序的运行期根据参数的类型,选择不同的具体
603
3
评论
LiuTao9292
1年前
后端
直观地了解自己每天在吃上面的开销
~~众所周知,~~我用Emacs的ledger-mode来记账(参见以前的文章《程序员的记账工具——ledger与ledger-mode》)。作为一个出色的命令行报表工具,ledger的命令balan
2487
3
评论
LiuTao9292
1年前
Git
Python
后端
git-log很好,你也可以写一个.
序言 作为一个天天都在用的工具,各位同行想必都非常熟悉 Git 的基本用法,例如: 用git-blame找出某一行 bug 是哪一位同事引入的,由他背锅; 用git-merge把别人的代码合进自己完美
932
5
1
LiuTao9292
1年前
Python
Lisp
这方面Python还是比Lisp略逊一筹
序言 众所周知,Python 支持向函数传递关键字参数。比如 Python 的内置函数max就接受名为key的关键字参数,以决定如何获取比较两个参数时的依据 自定义一个运用了关键字参数特性的函数当然也
461
3
评论
LiuTao9292
1年前
Lisp
Python
模拟Python中小于运算符的短路特性
忆往昔峥嵘岁月稠在Python的语言标准的Comparisions章节中提到 也就是说,在C语言中要写成a < b && b < c的表达式,在Python中可以写成a < b < c。并且,标准中还
338
2
评论
LiuTao9292
1年前
Lisp
从AOP到method-combination
Emacs的org-mode用的是一门叫Org的标记语言,正如大部分的标记语言那样,它也支持无序列表和检查清单——前者以- (一个连字符、一个空格)为前缀,后者以- [ ] 或- [x] 为前缀(比无
339
3
评论
LiuTao9292
2年前
Python
非递归遍历二叉树到底有什么用
准备过互联网公司的服务端岗位面试的人,对于二叉树的三种遍历方式想必是如数家珍。假设以类BinaryTree定义一棵二叉树 实现一个前序遍历的算法便是信手拈来的事情 随着行业曲率的增大,要求写出不使用递
1099
5
评论
LiuTao9292
2年前
Redis
当你SET的时候,Redis到底在SET些什么
准备过互联网公司的服务端岗位面试的人,对Redis中的5种数据类型想必是如数家珍。而网上很多面试题里也会出现这道题目随着行业曲率的增大,光是知道有这些数据类型已经不够了,还得知道同一个类型也有不同的底
1064
8
评论
LiuTao9292
2年前
编程语言
多重返回值的阵营九宫格
通常在糊业务代码的时候,不管是函数、方法,还是宏,都只会有一个返回值。比如在C语言用于检查一个字符是否为阿拉伯数字的isdigit函数就只会返回是(1)或否(0) 但有时候如果一个函数、方法,或宏可以返回多个值的话会更加方便。例如,在Python中dict类型有一个实例方法ge…
363
3
1
LiuTao9292
2年前
Python
终端看片指日可待——ASCII转义序列的妙用
其中用到的是ASCII转义序列\x1b[8D和\x1b[0K。除此之外,ASCII转义序列还有许多其它功能。例如,可以用来定制输出内容的前景色 既然如此,只要尺寸合适,就可以在终端打印出一张图片,只需要将每一个像素的颜色作为背景色,在坐标对应的行列上输出两个空格即可。如果能抹掉…
1418
7
2
LiuTao9292
2年前
Lisp
只有lisp能做——欧拉计划第66题
欧拉计划(Project Euler)就像LeetCode,是一个编程答题的网站。不同于LeetCode的是,欧拉计划只要求用户提交最终答案即可(一般是一个数字),而不需要完整代码。因此,可以尽情地使用自己喜欢的编程语言——不少题目甚至光靠笔和纸便能解决。 欧拉计划的第66题非…
940
3
1
LiuTao9292
2年前
Lisp
format,不只是格式化
写了一段时间的Python后,总觉得它跟Common Lisp(下文简称CL)有亿点点像。例如,Python和CL都支持可变数量的函数参数。在Python中写作 Python的语法更紧凑,而CL的语法表意更清晰。此外,它们也都支持关键字参数。在Python中写成 尽管CL的&#…
696
点赞
评论
LiuTao9292
2年前
Visual Studio Code
年轻人的第一个VSCode扩展
入坑VS Code前,我已经是一名久经考验的Emacs老用户了,因此开始正式使用VS Code后,我第一时间启用了它的Emacs Keymap。但不久我便发现,这套键映射缺少一个重要的快捷键——ctrl-l。 这是我高频使用的一个功能,尤其是跳转到函数的定义的首行后,我习惯于连…
2919
9
评论
LiuTao9292
2年前
macOS
自己动手丰衣足食——用Hammerspoon控制Emacs的窗口
有一天,我用Homebrew安装了一些软件——因为已经是一个月前的事情了,所以已经记不清是安装了什么。安装后并没有立即出现什么问题,只是又过了两天我重新启动电脑后,发现同样是由Homebrew安装的Emacs不由分说地无法启动了。这下可麻烦了,毕竟我是org-mode的重度使用…
873
8
2
LiuTao9292
2年前
Emacs
一箭双雕——org-mode中的ID和CUSTOM_ID字段
在org-mode中,一个条目(entry)可以设置多个属性(Properties)。有的属性是org-mode内置的,有它们的特殊用途。有的属性是自定义的,用在一些插件或仅仅用于记录信息。CUSTOM_ID属于前者,而ID属性后者。 CUSTOM_ID用于跳转。org-mod…
901
点赞
评论
LiuTao9292
2年前
计算机图形学
精确之美——用TikZ画硬盘示意图
备考某等级考试的时候,在教材中碰到了几个一直不太理解的、关于硬盘的概念:磁道、柱面号、扇区。然而教材没有配图,无法直观地了解这些概念的物理形态。维基百科的硬盘词条页中倒是有一副不错的示意图,我截图搬运了过来 原图是一张SVG图片,本质上是一堆指令——也就是所谓的语绘啦。我是一个…
758
1
评论
下一页