duangsuse::Echo
718 subscribers
4.26K photos
130 videos
583 files
6.48K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
#Math 草这个不规范啊,怎么可以用全角括号呢 () [] {}
Forwarded from 〄FW
弄了很久连抄别人 Ruby 的 solver 都做不到… 看来我或许要被卡死了吧…… (咸鱼) 😭

之前想了一个可以用于扒谱的程序:
首先用键盘指定音高, backspace=remove last
Enter=replay

下个流程开始计时弹奏,a=add with duration, s=new tone, backspace=time -5s; filter 出 it >= newTime 的音符全删掉(要 first, last 还是 filter ,还有单调顺序居然都卡了我好久……)

应该可以得到一个音符 (offset+duration+tone) 序列
#YouTube https://duckduckgo.com/?t=ffab&q=youtube-dl+sound+only&ia=qa&iax=qa
直接下载声音可以用 youtube-dl -F 选择格式,然后 -f 下载
ytdl -F 'https://www.youtube.com/watch?v=bH5nSGYGnzU'|sed 's/ \{2,\}/,/g'
ytdl_audio() {
awk -v max=0 '{ if($6>$max){max=$6;id=$1} } END { print $id }'
}
#linux #sysadmin #code 🤔 不行!输出格式太过分

ytdl_f() {
ytdl -F "$1"
echo -n fmt:; read fmt
ytdl -f ${fmt} "$1"
}
Forwarded from Mivik Q
Forwarded from Mivik Q
感觉你这个greedy不太对啊 @duangsuse
Forwarded from dnaugsuz
之前也有说,ParserKt 的目标并不是取代 Regex 或者做 NLP 之类非常复杂的解析器(那几乎不能算单纯的解析器了,何况 Regex groups 对副作用利用比较强,对 PKT 而言用 AlsoDo 和 StatedFeed 可以做到,但不推荐)

ParserKt 的目标是为各种相对规范的编程语言提供模式匹配 read/show (back) 的能力,也提供类似代码高亮这种常见兼容用途

我不会试着让它包容万物,它只需要保持简单的核心就好,包括现在解析一些复杂语法的东西 (NumUnit 和自动 Number 运算的类型转换、Layout 缩排语法的解析)都是作为 parserkt-ext 另作打包的,就是为了尽可能降低学习开销
Forwarded from dnaugsuz
不过,ParserKt 不能用来写命令行解析器,这个非常GG (主要是因为我开始觉得可以写,现在就有点郁闷)
Python 里用 import argparse 非常容易就可以定义一个解析器,我也写过命令行参数辅助解析
一个参数大概就是 add_argument(prefix, metavar, nargs, type, default, action, help) 这几个参数,action 可以 store_true 来实现 flag 什么的(当然前提肯定是动态类型)

ParserKt 理论上可以用来做命令行解析器的核心(如果封一层来构造 Contextual<String, Pattern<String, T>> 的话),但没法直接对应到 Pattern 对象,而且一旦有 nargs="+" 的情况,就十分不好处理为不可变数据了……
Forwarded from dnaugsuz
有几天没写代码了…… 很咸鱼
Forwarded from dnaugsuz
其实这个 while(true) 也可以重写为
while (greedy || count < bounds.last) 的,早就该改改。
已经有 n 个就不必多解析了,比 while(true) 要结构化一些
Forwarded from dnaugsuz
不对,刚刚分析了一下控制流
while (true) {
depend++
if (!p) break;
}
确有别于
while (p) {
depend++
}

区别在于第一次,前者至少执行一遍,相当
do {
depend++
} while (p)
Forwarded from dnaugsuz
这么说 bounds = 0..0 的情况其实我的程序不是最佳实践!没有利用循环操作的兼容性…… 也没有 require 过 param
#Firefoxabout:config 设置 browser.urlbar.decodeURLsOnCopy 为true 可以复制 UTF-8 解码的 URL
Forwarded from 记挂
这个有没有影响
Forwarded from dnaugsuz
你说是 (html!!) 还是 body?.string() ?
🤔我觉得没影响,你要拿 String 那你就拿 String。
Forwarded from dnaugsuz
如果你要做,还有更好的方法吗……
要这么写就别担心太多

为什么 html 是 var 啊…… 你应该写
val html: String = client.get(LOGIN_API).body?.string() ?: throw Errors.NetError() 不是么…

为什么你要写 html!! 啊,而且如果你只 parse(resp.string()) 的话调用 string() 也没问题啊
Forwarded from 记挂