一条 Scheme 转置实现 matrix 是列表的列表,先假设每个列表都是等长的,例如它是'((12)(34)(56))。把它视作一个二维矩阵,matrix 中每个元素自上而下对应矩阵的一行,而每个元素作为一个列表中的元素,自左而右的表示矩阵行中的元素。所以上述的例子对应的矩阵是:\begin{pmatrix}1&2\\3&4\\5&6\\\end{pmatrix}我们的程序需要转置这个矩阵,也就是变成'((135)(246))。 待分类
ranger 文件管理器 ranger 是什么?是一个命令行文件管理器。文件管理器是什么?浏览、管理文件和文件夹的软件。Windows 的 explorer,gnome 的 nautilus,KDE 的 dolphin 都是依赖 GUI 的文件管理器。怎样使用 ranger?在某目录打开 ranger。TUI 分为三栏,左边是父目录,中间是当前目录,右边是当前文件的预览。中间目录竖列当前目录的文件,其中一个是高亮的,那就是当前文件。如果当前文件是一个 待分类
duckscript 什么是 duckscript?是一种类似 Shell 的脚本语言,但是嵌入在 cargomake 里。官网在:https://sagiegurari.github.io/duckscript。项目目录在:https://github.com/sagiegurari/duckscript。cargomake 是什么?是一个 Rust 的任务运行器,以及构建软件。功能与 Gnu/Make 类似。项目目录在:https:// Rust
Rust - 应用错误处理的实践思路 软件开发一方面要 failfast,另一方面又讨厌 exception,我认为应该辩证的看待这个矛盾。不论是抛出异常,还是用其他的错误处理方式,最终都体现在错误用户界面上。最终界面,是运行时接住异常产生的,或者是某种框架接住了异常产生的,都是可行的办法,要看应用的需求如何。不过总之在相互垂直的逻辑聚集的地方,就需要错误处理聚集;在逻辑不垂直的地方,错误倾向于交给上层处理。在比较简单的系统里,这种「垂直聚 Rust
Rust 宏笔记 这篇文章说的是?Rust 的宏。宏按照来源分类:声明宏(DeclarativeMacro)和过程宏(ProceduralMacro)。前者指的是用某种语法直接声明出的宏。后者是对应直接生成抽象语法树的过程的宏。直觉上过程宏更隐式,更全能;声明宏更可读,更直接。如何定义声明宏?现在用 macro_rules!。以后可能还有别的办法。如何定义过程宏?以后再说。宏按照使用方式分类:属性宏:给声明添加属性的宏, Rust
Rust 设计模式的中文翻译 https://github.com/rust-unofficial/patterns 是一个集合了 Rust 设计模式的仓库。包含一些惯用用法、设计模式和反模式(即不好的模式)。我很久之前就翻译了这个东西,但是一直没发布出来,因为原文还没有写完。但是我最近发现上游也没有什么更新的动向。所以不如就发出来算了:https://plus7wist.gitee.io/rust-patterns-zh 如果对文章有 Rust
2020-06-11 日志 javascript-reducearray.reduce(function(total,currentValue,_currentIndex,_arrary),_initialValue)React-状态变化的时机 const[state,setState]=useState(initialState)setState 可能是个异步函数。JsonServernpxjson-server--port30 Journal
无聊的时候做什么 本文是一篇笔记,不完全代表自己的看法。合理利用无聊的时候的时间,不仅是有利于个人成长,也利于身心健康。阅读人类的目前的教育不可避免地让人对阅读有抵触情绪,但我们理应自己克服这些错误的认识。我们应该学会从阅读中获取快乐,因为它也是获取技能的手段。很多人对于网络小说抱持抵触情绪,但我认为如果它能让我们学习到阅读的快乐,并且可持久化的扩展到其他阅读领域,那么总归是比不阅读要好的。制定计划和目标目标的达成会 Lifetime
2020-06-05 日志 React-模板和事件通常在 JSX-模板中定义事件处理程序并不是一个好的实践。React-useStateconst{useState}=require('react')const[state,setState]=useState(initialValue)React-不要在组件中定义组件 RTReact-Hook 定义位置状态 Hook 定义在组件的上下文中,不要定义在条件语句、循环或者其他函数内。不明白 Journal
最初的谜题 谜题系列以前玩过一些谜题,说实话,我水平不高。但就像说葡萄酸的狐狸,我的品味也有所不同。这就让我萌生了创作一个系列谜题的想法,于是这就是第一题了。这道题目让我回忆起我的高中时代,那时候的我跟现在真的是差别太大了。题目 310441266559681555559 加盐哈系这一系列谜题都不会延迟公布答案,这是为了防止猜到答案的朋友们需要挨过不友好的等待。但也不会完全直接公布,那样不免会影响猜谜体验。所以我会 Puzzle
2020-05-29 日志 structopt-自定义解析方法 https://docs.rs/structopt/0.3.14/structopt/#custom-string-parsersfnimage_format_try_from_str(src:&str)->Result<ImageFormat,String>{useImageFormat::*;letchoose:HashMap<&'staticstr,Image Journal
2020-05-28 日志 木兰宽松许可证 https://license.coscl.org.cn/MulanPSL2/发现了这个开源许可证。我想,这是除了 WTFPL 之外我第一个能看懂的许可证了。然后我看到了下面这句话:前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。Rust-文件扩展名使用 s Journal
2020-05-27 日志 今天看到了这个博客系统,也确实有点对于自己折腾博客感到厌烦了。所以打算尝试一下它。azreaderhttp://azreader.net 是一个在线的 RSS 阅读器。我订阅了 rust.cc 和阮一峰老师的网络日志。Widehttps://wide.b3log.org 是个在线的 golang 开发环境,我很喜欢它。因为我有很多设备,但是总是学不会 golang 的开发环境怎么部署。一个全栈课程 https://ful Journal