stein42 最近的时间轴更新
stein42

stein42

V2EX 第 578776 号会员,加入于 2022-04-20 15:18:05 +08:00
今日活跃度排名 3047
stein42 最近回复了
加一个配置文件,可以让你的 macos 更像 emacs 。
https://github.com/fkchang/emacs-keybindings-in-osx/blob/master/DefaultKeybinding.dict
16 天前
回复了 javashell 创建的主题 问与答 求助如何去水印
document.querySelectorAll('[class^="ui-watermark"]').forEach(e => e.remove())
能提高一点,手指移动更少,输入英文很爽。
不过换到其他电脑和手机就不太方便了。
我从 Qwerty 换到 Dvorak 又换回 Qwerty ,切换会有 1-2 星期很难受。

提高写代码速度还是靠对语言函数库的熟悉以及智能的 IDE 。
33 天前
回复了 amlee 创建的主题 问与答 cs61a 的一道题,有大佬讲解一下吗?
# 先用长度为 1 的链表,带进去展开,
# 再用长度为 2 的链表,带进去展开,
# 应该就能写出 step 的定义了。
def step(x, g):
return lambda z: g(fn(z, x))
35 天前
回复了 xd880616 创建的主题 Apple Mac 没有单手可以操作 delete 键让我心态爆炸
mac 文本框支持 emacs 风格快捷键。
ctrl+d 可以删除右边的字符。
已经帮 OP 解决了,也收到了红包。
思路就是把触摸点相对于 canvas 的坐标,换回相对于元素(一个矩形)的坐标,再判断。
由于 uniapp 没有 getTransform ,需要手动推导公式了。
我可以解决。
base64: d3g6IGktYW0tc3RlaW4K=
如果用磁盘页来存储二叉树节点:
1 页存 1 层,最多 1 个 key-value ,2 个孩子,非常浪费空间。
1 页存 2 层,最多 3 个 key-value ,4 个孩子。
1 页存 3 层,最多 7 个 key-value ,8 个孩子。
...
1 页存 n 层,最多 2^n-1 个 key-value ,2^n 个孩子。
选择适当的 n ,使得空间刚好利用完。

这样的结构,再改进一下插入、删除操作,就得到了 B 树。
c++ 就用 std::function 。std::function 可以接受函数、方法、静态方法、lambda 表达式,只要参数和返回值类型匹配。
https://en.cppreference.com/w/cpp/utility/functional/function

抽象基类虽然功能上能实现,但是太啰嗦,对于每一种函数类型要定义一个基类,每一个函数要定义一个包装类。
而且运行时多一次查虚函数表的操作,同时也阻止了编译器优化。

函数指针仅仅是一个地址,不包含数据。std::function 还可以包含数据。
例如 lambda 表达式可以捕获外层的变量,形成一个闭包。这时就不能用函数指针了。
生成器里面第一个表达式是延迟求值的。
相当于:
map(lambda i: l[i], range(2))
每次计算会去读 l 的值。

函数式编程需要避免赋值这些有副作用的操作。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1282 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 19:51 · PVG 03:51 · LAX 11:51 · JFK 14:51
Developed with CodeLauncher
♥ Do have faith in what you're doing.