duangsuse::Echo
for ln in $<.each_line do next unless ln.start_with?('mv') _mv, src, dst = ln.split puts("mv #{dst} #{src}") end def bulkRename(re_src, pat_dst, fmt_dst) re_dst = Regexp.new(pat_dst) selected = Dir.glob(re_src) for name in selected newnam =…
for ln in $<.lines do
if ln.start_with?("mv"); next; end
_mv, src, dst = ln.split
puts("mv #{dst} ${src}")
end —
def bulkRename(pat_glob, pat_src, fmt_dst)
names = Dir.glob(pat_glob)
for name in names do
newName = file.gsub(pat_src, fmt_dst)
puts("mv ${name} {newName}")
end
end
case ARGV.size
when 0 then warn("Usage #{$0} [select] pat_src [fmt_dst]")
when 1 then puts(Dir.glob(ARGV[0]))
when 2 then bulkRename("*", ARGV[0], ARGV[1])
when 3 then bulkRename(ARGV[0], ARGV[1], ARGV[2])
end垃圾 NVIDIA 驱动 DKMS depmod 每次都不能用,需要更新内核时重新 install!而且现在还构建失败了!不知道是为什么,说是没有 Module.symvers 文件……
Forwarded from dnaugsuz
我想到一个有趣的问题:
传说有一个神奇的小镇里有 10 位哲学家,有一天他们在一起聚餐,讨论抽象的哲学问题(比如现在这个)
现在,他们都坐在一个圆形的餐桌旁。
他们每个人都会等待一段时间,饿了就拿起(左手的叉子和右手的叉子)开始吃意面。
这些哲学家都比较死脑筋,如果叉子已经被占用则会死等到占用者吃完。
请描述一下他们最后大概有几种不同的结局。
如果你想清楚了,再想想有 11 个、9 个哲学家就餐时会怎么样。
传说有一个神奇的小镇里有 10 位哲学家,有一天他们在一起聚餐,讨论抽象的哲学问题
现在,他们都坐在一个圆形的餐桌旁。
他们每个人都会等待一段时间,饿了就拿起(左手的叉子和右手的叉子)开始吃意面。
这些哲学家都比较死脑筋,如果叉子已经被占用则会死等到占用者吃完。
请描述一下他们最后大概有几种不同的结局。
如果你想清楚了,再想想有 11 个、9 个哲学家就餐时会怎么样。
Forwarded from dnaugsuz
比较困难,想不出也别自闭
呃…… 还有个条件:10 个人,可只有座位中间有叉子,换句话说 10 人只有 (10-1) 个叉子,不是一人一副。
呃…… 还有个条件:10 个人,可只有座位中间有叉子,换句话说 10 人只有 (10-1) 个叉子,不是一人一副。
Forwarded from dnaugsuz
ES6 的 Promise 很优雅,有 Promise.all 和 Promise.race,Vertx 也一样有 CompositeFuture
dnaugsuz
a=1; c=1; { a=b; b=c; c=a+b; } ?
稍微有点常识的人会想想为什么开始 b=1; a=1 而不是 a=1; b=1
不怕死的人会试着推理一下 loop count=n 时 c 是由何种表达式构成的
假设 (+) 是 "call-by-name" (传 sub expression)的话
不怕死的人会试着推理一下 loop count=n 时 c 是由何种表达式构成的
假设 (+) 是 "call-by-name" (传 sub expression)的话
https://play.kotlinlang.org/hands-on/The%20State%20of%20Kotlin%20JS/04_Using_APIs
我们可以那么画许多方块,这个其实也可以提出绘制逻辑的。
只是 Kotlin 的例子,所以没抽提。
with (canvasCtx) {
beginPath();
fillStyle(randomColor.sample())
rect(randAxis(), randAxis(), 20.0, 20.0); fill();
closePath();
}
fun randAxis() = Random.nextDouble(0, 20.0) 我们可以那么画许多方块,这个其实也可以提出绘制逻辑的。
只是 Kotlin 的例子,所以没抽提。
duangsuse::Echo
在更新自家 Fedora OS installation 的时候顺便说一下。 之前的模型是一个 Literate 对 N 个 language-kotlin 的代码块,然后显示代码的时候拼起来创建 <code> tag 交给 KotlinPlayground 做后续工作。 现在可以一个 Literate 对 N 个靠“可配置”的 Map<LanguageId, [ElementConfig, Consumer<Element>]> 来(之前那个 ElementConfg 是 DOM ElementAttribute…
我最后没有用
function hist<K, V>(iter: Iterable<V>, key: (V) => K): Map<K, V> {
let histogram = new Map();
for (let item of iter) {
let k = key(item);
if (!histogram.has(k)) histogram.set(k, []);
histogram.get(k).add(item);
}
return histogram;
} fun <K, V> histogram(iter: Iterable<V>, key: (V) -> K): Make<K, List<V>> {
val histogram: MutableMap<K, MutableList<V>> = mutableMapOf()
for (item in iter) { histogram.getOrPut(key(item), ::mutableListOf).add(item) }
return histogram
}
fun <K, V> histogram(iter: Iterable<V>, key: (V) -> K): Make<K, List<V>> {
val histogram: MutableMap<K, MutableList<V>> = mutableMapOf()
for (item in iter) {
val k = key(item)
val self = if (k in histogram) histogram[k] else { histogram[k] = mutableListOf(); histogram[k] }
self.add(item)
}
return histogram
}