duangsuse::Echo
#bulk.rb def bulkRename(re_src, pat_dst, fmt_dst) re_dst = Regexp.new(pat_dst) selected = Dir.glob(re_src) for name in selected newnam = name.gsub(re_dst, fmt_dst) puts("mv #{name} #{newnam}") File.rename(name, newnam) end end case…
用例:重命名所有 .py 文件为 .txt 文件$ ruby bulk.rb '*.py' '^(.*).py$' '\1.txt'
mv a.py a.txt重命名所有非
.rb 文件的文件为 .txt 文件好像写不出这个后行否断言……
ruby s.rb '(.*)?!\.rb' '\1.txt'而且,说不定是 re 不能自动设置某项的结束字符,我也没办法
用例:利用记录反向移动
$ ruby move_back.rb
mv a.py a.txt
mv a.txt a.py是的,最近我们学校也在举行高考报名,需要身份证、户口簿(首页,包含学生的那一页)的原件、复印件和 300 多块人民币 #school
Forwarded from Rachel 碎碎念 (IFTTT)
高考报名太精彩了
有小学读了六年不记得班主任的
有「初级中学」写成「初级中」的
有高中班主任名字三个字打错俩的
还有「职务」一栏填成「教师」的…— Rachel Mirai. (@tangrui003) November 14, 2019
有小学读了六年不记得班主任的
有「初级中学」写成「初级中」的
有高中班主任名字三个字打错俩的
还有「职务」一栏填成「教师」的…— Rachel Mirai. (@tangrui003) November 14, 2019
Twitter
Rachel Mirai.
高考报名太精彩了 有小学读了六年不记得班主任的 有「初级中学」写成「初级中」的 有高中班主任名字三个字打错俩的 还有「职务」一栏填成「教师」的…
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
😊 Sticker
duangsuse::Echo
慢慢来吧,先写 RangeMap 算…… 🤔
辣鸡 Java 的
我 TM 都看不清哪些是我该 override 的了
default in interfaces (mixin) 真是辣鸡,辣眼睛。我 TM 都看不清哪些是我该 override 的了
辣鸡 Java 的 stdlib 实在是太愚蠢了,尽写一些无关紧要的接口定义,本来可以划分的它偏放在一起
duangsuse::Echo
而且,居然是 unchecked!真不知道是不是没提供新的,基于 Parametrized types 的版本
因为 Java 没有真实泛型,都是基于泛型擦除的 compile-time only 实现,害得我都不得不 unchecked cast 了,气死我了
比方说它非得弄个 get(Object) 的 API,虽然擦除后 get(K), get(Object) 都是 get(Object),我 TM…… 还得被,而且,我拿不到 reified 的类 Class<T>,不可能自然也不应该运行时检查类型
Java 辣鸡!!!
比方说它非得弄个 get(Object) 的 API,虽然擦除后 get(K), get(Object) 都是 get(Object),我 TM…… 还得被,而且,我拿不到 reified 的类 Class<T>,不可能自然也不应该运行时检查类型
Java 辣鸡!!!
我们怎么能这样批评 Java 呢,Java 君活得那么努力,努力到写了 90% 都是 boilerplate,我还以为我在做什么不得了的事情,以至于花了很长时间。
其实都是 🌬!emmmm
其实都是 🌬!emmmm
我还以为我 100+ 行写了什么不得了的东西,其实他们要测试,你知道为什么要测试吗?因为一大堆全都是无聊的代码!
为什么一些无聊的东西还需要测试?因为人的精力是有限的,无聊的东西看多了,有用的东西就容易写错!!!
为什么一些无聊的东西还需要测试?因为人的精力是有限的,无聊的东西看多了,有用的东西就容易写错!!!
但是不管写多长都 1.2K 的体积很令我满意,当然我知道,缩减体积不是程序员该做的事情,可是我就是讨厌 Kotlin 过了一遍 Proguard 还是 50K+ 的类文件大小……
反正 Java 还可以翻译到 Kotlin 的
反正 Java 还可以翻译到 Kotlin 的
同样的代码,Haskell 里就是
Kotlin 里也不困难
可是 Java 里要写十几行,我 (TMD) 快写疯了!
{-# LANGUAGE GADTs #-}
data Ray t a = (Ord t) => Shadow t a | (Ord t) => White t Kotlin 里也不困难
sealed class Ray<out T: Comparable<T>, out V> {
data class White<T>(val c: T): Ray<T, *>
data class Shadow<T, V>(val c: T, val x: V): Ray<T, V>
} 可是 Java 里要写十几行,我 (TMD) 快写疯了!
写了半天这类无聊的东西,那个至关重要的二分查找我都快忘记了 💭
而且因为他们很多,还得写不少测试
我终于明白为什么 Java 都是『大项目』了
而且因为他们很多,还得写不少测试
我终于明白为什么 Java 都是『大项目』了
This media is not supported in your browser
VIEW IN TELEGRAM
MD 个 🍻,气死我了,看来没时间不敢用 Java
说起来,没 Kotlin Multiplatform,JS/JVM 还得分着写(虽然有别的翻译器)
那更浪费时间
还是 TypeScript 好
可我不喜欢动态类型
Kotlin 的类文件体积不好缩减
不管动态不动态,JDK Collections Framework 这种把一大堆什么 putAll, isEmpty, entrySet(), values(), containsKey() 不给 default 的,简直是魔鬼!
难道我的 KvMap 要扩展它的接口?难道我的 KvMap 不该在 pass 掉一些辣鸡操作的前提下扩展支持 Map 的接口???
吃完饭我会讲一下 RangeMap 的理论
尼玛,我以为我效率多高呢。
说起来,没 Kotlin Multiplatform,JS/JVM 还得分着写(虽然有别的翻译器)
那更浪费时间
还是 TypeScript 好
可我不喜欢动态类型
Kotlin 的类文件体积不好缩减
不管动态不动态,JDK Collections Framework 这种把一大堆什么 putAll, isEmpty, entrySet(), values(), containsKey() 不给 default 的,简直是魔鬼!
难道我的 KvMap 要扩展它的接口?难道我的 KvMap 不该在 pass 掉一些辣鸡操作的前提下扩展支持 Map 的接口???
吃完饭我会讲一下 RangeMap 的理论
尼玛,我以为我效率多高呢。