duangsuse::Echo
鸡你真漂亮!第一次发现错误都这么漂亮!
tries() { local mt=$1 cmd=$2
local omt=$mt
declare -i mt omt
while [ $mt!=0 ]; do
eval $cmd; if [ $?!=0 ]; then
mt=$mt-1
printf "Command \`${cmd}\` failed, retrying of (${omt-mt}/${omt})" >&2
else break;
fi
done
} 看来 Bash 还真不适合用来写代码我感觉我的编程能力(虽然也不咋地,因为智商摆在那里就那样,比如上面的代码我会考虑两种控制流选择方式可是却不能成功)
duangsuse::Echo
现在一般可以看系统情况,用一下 Perl 之类其他的语言来写脚本。
Perl 也困难,我看冰封哥写过,很富有技巧性,连简单的 Regex match 都弄了一大堆二元操作,还到处 implicit 变量 (
不会用了,$, @, %, #, {} 的都是什么鬼玩意
Perl 自己都可以给自己写预处理扩展,只需要编程就可以了,你甚至可以直接在一个 Perl 文件里定义基于 Perl 处理的程序设计语言…… (PerlYuYan)
有的时候,我觉得太过于技巧性的东西应该加上引号
因为这些技巧虽然看起来高大上,却凭空制造复杂性。编写一时爽,阅读重构火葬场
man perlintro)use strict;最重要的是我讨厌类似 Python 的语言,虽然我觉得 Perl 官方实现的错误提示很人性化,一点没学术死板板硬邦邦的做派,而且设计的某些点还比较重视『符合视觉』
my $str = "Hello World";
if ($str =~ m/^(.*) World$/) { print $1 . "\n"; }
my ($a, $b, $c) = ("A", "B", "C");
my $di = ( "A" => "甲", "B" => "乙");不会用了,$, @, %, #, {} 的都是什么鬼玩意
Perl 自己都可以给自己写预处理扩展,只需要编程就可以了,你甚至可以直接在一个 Perl 文件里定义基于 Perl 处理的程序设计语言…… (PerlYuYan)
有的时候,我觉得太过于技巧性的东西应该加上引号
因为这些技巧虽然看起来高大上,却凭空制造复杂性。编写一时爽,阅读重构火葬场
Forwarded from dnaugsuz
唉,不过 Kotlin 的这个 fun/val extension 还真是好,自愧不知,C# 的都没有、Groovy 做得和脚本语言一样意义不太大。不知道没有 extension 的 Kotlin 还能不能算是 Kotlin,现在写个函数都炒鸡方便、标准库也越来越能逼死同人了,其他语言是望尘莫及实锤的…… 😂
完美地打压嘲讽了所有以代码行数论英雄的模板程序员,原来你写了半天自我感觉超好的代码,居然其实是低级重复……
完美地打压嘲讽了所有以代码行数论英雄的模板程序员,原来你写了半天自我感觉超好的代码,居然其实是低级重复……
duangsuse::Echo
我终于纠正了之前一个自己都觉得错误的想法…… (如果先 op(count) 而不是 --count,序列就是 9,8,7,...,1) 本来我在块里面 op(); --count; 一般来讲 count=3, while>0 先肯定是第一次循环 op(); count=2, op() count=1 op(),肯定是三次的,区别在于先 --count 第一次 op 会拿到 3-1 = 2 而已…… 我所谓『时序』,其实自己也一点不懂而已,如果要做逻辑器件编程无时序思维是困难的
不过说起来,这个项目测试有点不好做,我希望以后有机会了,用实际用例来测试
目前还在准备写组合结构的部分,显然组合是可以有 Size 的,没有 Size 的话,可能不允许 reset
但是 File 的话可以随便 Reset,怎么办?怎么兼容这个? 我也不清楚……
目前还在准备写组合结构的部分,显然组合是可以有 Size 的,没有 Size 的话,可能不允许 reset
但是 File 的话可以随便 Reset,怎么办?怎么兼容这个? 我也不清楚……
#Kotlin 理论没想好,又一个秀破天际,但是没有实际用处的东西,我之前想的
NumEqualize 动态自动 widen 都比这个强的多的多。它不能解决问题,我没有注意到要『检验一种 InputStream 的 read(byte[]) 是否利用了 read()』是不可能的…… 几乎
实际上,你多建立一个 Filter 就可以检验了,但是有什么意义呢?我觉得这应该直接改掉
Java 程序员写这种本来也不低效的模式怎么都写得这么冗长…… 如果没有优化,这额外开销是我自己无法接受的
实际上,你多建立一个 Filter 就可以检验了,但是有什么意义呢?我觉得这应该直接改掉
Java 程序员写这种本来也不低效的模式怎么都写得这么冗长…… 如果没有优化,这额外开销是我自己无法接受的
This media is not supported in your browser
VIEW IN TELEGRAM
修了一个至关重要的 bug,可以意味着现在的 Reader 已经可以用了
虽然明天我又要去上学了
当然其实是不保证可以用无问题的,但看起来很稳定一样,因为我一行一行一次一次 UpArrow Kotlin REPL 测试出来的…… 的确是可以用,很正常,尤其是 Reader.File
除了 KotlinIO 的
不过
关键是 Writer... 现在还可怜的要不得
关键是我…… 明明这么努力,还是熬夜,而且莫名觉得熬得还很有意义,因为完成了想做的事情…… 可是一天到晚在这里视力下降就不好了……
关键是剩下的事情…… 虽然是写了一些,但我自己感觉提升不大,有时候看着屏幕会觉得知道该怎么写,闭上眼睛思考一下全不知道是什么东西了,迷人……
关键是,今天晚上肯定不能完成了吧
他们又去找一个在什么大学来着当教授的博士后亲戚,和他一个 IT 的朋友来电话教导我
可我是要写代码而已,又不是上中科大、交大、西安大学、当高学历高素质人才……
不管多没办法总是要去的啊…… 何况这种强度一直下去肯定不是办法,而只有长假到来而且我成天心情好才可以保证不出现过劳死的问题,唉 #life #China #school
虽然明天我又要去上学了
当然其实是不保证可以用无问题的,但看起来很稳定一样,因为我一行一行一次一次 UpArrow Kotlin REPL 测试出来的…… 的确是可以用,很正常,尤其是 Reader.File
除了 KotlinIO 的
InputStream.readBytes() 不正常而已,不过这个定义我觉得就有点奇怪,也就见怪不怪了,和 Java 一比是大雾见小雾URL 和 Buffer 的都是 Reader.Instance 辅助实现的,当然他们都是那个德行,上不来下不去。不过
Reader.Instance 和 Reader 的基本继承结构我重构了一下,还没测试过是否工作正常,我想应该是没问题的关键是 Writer... 现在还可怜的要不得
关键是我…… 明明这么努力,还是熬夜,而且莫名觉得熬得还很有意义,因为完成了想做的事情…… 可是一天到晚在这里视力下降就不好了……
关键是剩下的事情…… 虽然是写了一些,但我自己感觉提升不大,有时候看着屏幕会觉得知道该怎么写,闭上眼睛思考一下全不知道是什么东西了,迷人……
关键是,今天晚上肯定不能完成了吧
他们又去找一个在什么大学来着当教授的博士后亲戚,和他一个 IT 的朋友来电话教导我
可我是要写代码而已,又不是上中科大、交大、西安大学、当高学历高素质人才……
不管多没办法总是要去的啊…… 何况这种强度一直下去肯定不是办法,而只有长假到来而且我成天心情好才可以保证不出现过劳死的问题,唉 #life #China #school
说起来,现在写的代码越来越不像以前了。
给人感觉这么大一个类,我怎么就只写了 160 行? 之前感觉这么有用的类,怎么只有 174 行?以前我写个小应用都能写到这个行数的一半,然而这个结构却复杂的多。
不过我的确很讨厌对特殊的情况依然坚持用『同意』『规范』的缩进方式,为了让程序代码更好看,怎么样的缩进我都能用。
编译后 JAR 现在是 85K
给人感觉这么大一个类,我怎么就只写了 160 行? 之前感觉这么有用的类,怎么只有 174 行?以前我写个小应用都能写到这个行数的一半,然而这个结构却复杂的多。
不过我的确很讨厌对特殊的情况依然坚持用『同意』『规范』的缩进方式,为了让程序代码更好看,怎么样的缩进我都能用。
编译后 JAR 现在是 85K
其实我本来以为还可以顺便写个人生第一 Scheme(不是,其实是类似 Scheme 的自己设计的语言,支持基本的 sexp 和中缀表达式、raw string call、pass expression、vararg、default arg、mutable lambda capture)
当然是解释器啊,相信不会有人认为我连 visitor pattern 都不会写吧,不会写还有子类型多态的直接化方式啊
如果能够写出来的话,就可以很开心了,因为我就可以用它来写一些 Android 应用了,也打算试试它和 Dokuss 组合对 Android 程序设计会有什么效果,我的希望是在 doku 提供绑定后,二进制文件的读写对象在 MyScheme 里组合,就可以方便地拿来使用了
比如这里有个简单的例子
只是它像 Python 的 pack/unpack,名字就不好起,结构体只能是匿名的,十分不方便(虽然 MyScheme 可以提供 tuple destruct 的方式),我想只能在 Kotlin 端先定义 ID 了
当然是解释器啊,相信不会有人认为我连 visitor pattern 都不会写吧,不会写还有子类型多态的直接化方式啊
如果能够写出来的话,就可以很开心了,因为我就可以用它来写一些 Android 应用了,也打算试试它和 Dokuss 组合对 Android 程序设计会有什么效果,我的希望是在 doku 提供绑定后,二进制文件的读写对象在 MyScheme 里组合,就可以方便地拿来使用了
比如这里有个简单的例子
[require! io]
[require! doku]
[require! terms]
[term! st-frogs (drepeat frog)]
[term! frog
(dseq dutf dint)]
[end]
[define! frogs '(("江泽民" 1989) ("胡锦涛" 1989 * 91) ("一刀" 999))]
[with (file-open "naive-frogs" 'write) \f ->
(write st-frogs f frogs).]
(print
[with (file-open "naive-frogs" 'read)
\f. (read st-frogs f)]) 只是它像 Python 的 pack/unpack,名字就不好起,结构体只能是匿名的,十分不方便(虽然 MyScheme 可以提供 tuple destruct 的方式),我想只能在 Kotlin 端先定义 ID 了
比如说这里咱们有四个字符,『恭喜发财』~
Array+(臦||鲖|迥)
import org.duangsuse.dokuss.struct.*咱来读取一下这个结构试试。
class 恭喜发财: ArrayLike(4) {
val a: Char by index(0)
val b: Char by index(1)
val c: Char by index(2)
val d: Char by index(3)
}
val 恭喜发财Doku = Seq(::恭喜发财, char16, char16, char16, char16) import org.duangsuse.dokuss.*恭喜发财
import java.io.*
val s = Reader.Instance(System.`in`).restream(::BufferedReader)
恭喜发财Doku.read(s)
Array+(臦||鲖|迥)
s.nativeEndian()
val res=恭喜发财Doku.read(s)
val w = Writer(System.`out`)
恭喜发财Doku.write(w, res)This media is not supported in your browser
VIEW IN TELEGRAM