$ javac Template.java
$ java Template
java.io.IOException: File template not found
at Template.readFormatString(Template.java:23)
at Template.main(Template.java:11)
$ printf 'Hello, %%s' > template
$ java Template
Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier '%s'
at java.util.Formatter.format(Formatter.java:2519)
$ java Template world
Hello, world
$ java Template
java.io.IOException: File template not found
at Template.readFormatString(Template.java:23)
at Template.main(Template.java:11)
$ printf 'Hello, %%s' > template
$ java Template
Exception in thread "main" java.util.MissingFormatArgumentException: Format specifier '%s'
at java.util.Formatter.format(Formatter.java:2519)
$ java Template world
Hello, world
duangsuse::Echo
#Java #app 😃 据说 duangsuse 到现在也没有开发基于『模板生成』的应用程序(迫真,其实写过了,而且是高端 DSL 生成)怕被人嫌弃,就立刻写了一个(跑
写的时候因为控制流简单,忍不住感叹 Javac 居然还能做未初始化局部变量分析... 🤔
如果我要写一个,该怎么进行这种分析?还好 Sun Javac 比较蠢,只认 constant condition 常量传播...
编程的时候透露出我对 Java 平台的理解还不够,我忘记了 Java 的 I/O 流架构、本地变量未初始化空值、Vararg 传递
透露出我对文件系统的理解还不够,我忘记 close 掉打开的文件
如果我要写一个,该怎么进行这种分析?还好 Sun Javac 比较蠢,只认 constant condition 常量传播...
编程的时候透露出我对 Java 平台的理解还不够,我忘记了 Java 的 I/O 流架构、本地变量未初始化空值、Vararg 传递
透露出我对文件系统的理解还不够,我忘记 close 掉打开的文件
duangsuse::Echo
Template.java.dia
总而言之,用 PDL(Program Design Language) 可以表示为:
#C
#Cplusplus
#PHP
#Ruby
#Lua
#VisualBasic (VB.NET)
#CSharp
fun main(argv)那么我就顺手再写个 C 的版本和 C++ 的版本和 PHP 的版本和 Ruby 的版本和 VisualBasic 的版本和 CSharp 的版本... 反正我还有很多事没做... 啊 😵
String? template = readFormatString();
String? formated = String.format(template.getOr { exit(EXIT_FAILURE); }, argv);
formated.let(stdout::println);
fun readFormatString()
File.Path fileName = getenv("TEMPLATE") ?: "template";
File templateFile = File(fileName);
unless file.exists and file.isFile: raise "File ${fileName} not found"
unless file.canRead: raise "File ${fileName}: cannot read"
FileInputStream is = null;
byte templateBytes;
begin /* readAll is into templateBytes */
templateBytes = new byte[is.available];
is = FileInputStream(templateFile);
is.read(templateBytes);
handle IOException rethrow
ensure is.close
return String(templateBytes);
#C
#Cplusplus
#PHP
#Ruby
#Lua
#VisualBasic (VB.NET)
#CSharp
duangsuse::Echo
总而言之,用 PDL(Program Design Language) 可以表示为: fun main(argv) String? template = readFormatString(); String? formated = String.format(template.getOr { exit(EXIT_FAILURE); }, argv); formated.let(stdout::println); fun readFormatString() File.Path fileName…
😿 时间总是不够用,为了健康所以不得不早点睡觉了。
其实这周本来还计划用 HTML + CSS + JS /MDUI, echart 写本频道的折线统计图的,还包括诸如过滤、消息转发回复 stickers files 什么的分析、hashtags, links, hosts, telegram xref 的统计页面什么的
可惜果然没有时间了(我早知道,所以即使开始想的时候比较大但是我一直要求自己简化它 — 没时间写太大的、必须保证能完整理解快速记忆所有结构的程度才可以),真的时间不够啊。
其实本来还打算继续写 GeekSpec 下一个版本的 specification 实例的,可是又没时间啊。
其实本来还打算发一下书单(HTML)的,果然是连分享都不容易。
其实本来要修正一下 Gauss-Jordan 这个的,可是呢,这次也没机会了。
其实这周本来还计划用 HTML + CSS + JS /MDUI, echart 写本频道的折线统计图的,还包括诸如过滤、消息转发回复 stickers files 什么的分析、hashtags, links, hosts, telegram xref 的统计页面什么的
可惜果然没有时间了(我早知道,所以即使开始想的时候比较大但是我一直要求自己简化它 — 没时间写太大的、必须保证能完整理解快速记忆所有结构的程度才可以),真的时间不够啊。
其实本来还打算继续写 GeekSpec 下一个版本的 specification 实例的,可是又没时间啊。
其实本来还打算发一下书单(HTML)的,果然是连分享都不容易。
其实本来要修正一下 Gauss-Jordan 这个的,可是呢,这次也没机会了。
GitHub
duangsuse/Share
🐕 duangsuse's shared files(e.g. productive software projects, documents) - duangsuse/Share
#C 没力气写了,垃圾 GCC,MSVC 的 va_list 直接是
typedef char* va_list; 但是 🌶🐔 GCC 的是 typedef builtin_va_list va_list;,必须得手工调用,而且 inline 全都链接时找不到符号,为啥要这样过分!This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
要是能不要做这种事情,就会省时间。
#Sp #C 汇编害死人! 😢 早日拒绝汇编和 C 甚至裸的结构化编程,早日获得新生! C++ 都比 C 好!
🌶🐔 垃圾 GCC 还我青春!
🤔 C++ 要学呢,类型系统比 C 强一些,新的 cast 操作不知道怎么用。
人在做,天在看,抽象不够留祸患,
万恶段错天地灭,赶紧 OO 保平安,
诚心诚念设模好,对象大法平安保,
众生都为速度来,现世险恶忘前缘,
OO 弟子说真相,教你脱险莫拒绝,
早日摆脱汇编,早日获得新生,
上网搜索「九评 GAS」有真相。
天灭 GCC,退 C 保平安。
人在做,天在看,垃圾 SP 留隐患。
空指溢出天地灭,快换 Managed 保平安。
诚心诚念 GC 好,Tracing 大法平安保。
众生都为工效来,现世险恶忘前缘。
Java 菜鸡说真相,教你脱险莫拒绝,
早日摆脱 C/C++,早日获得新生,
上网搜索「九评 C/C++ 后端」有真相。
🌶🐔 垃圾 GCC 还我青春!
🤔 C++ 要学呢,类型系统比 C 强一些,新的 cast 操作不知道怎么用。
人在做,天在看,抽象不够留祸患,
万恶段错天地灭,赶紧 OO 保平安,
诚心诚念设模好,对象大法平安保,
众生都为速度来,现世险恶忘前缘,
OO 弟子说真相,教你脱险莫拒绝,
早日摆脱汇编,早日获得新生,
上网搜索「九评 GAS」有真相。
天灭 GCC,退 C 保平安。
人在做,天在看,垃圾 SP 留隐患。
空指溢出天地灭,快换 Managed 保平安。
诚心诚念 GC 好,Tracing 大法平安保。
众生都为工效来,现世险恶忘前缘。
Java 菜鸡说真相,教你脱险莫拒绝,
早日摆脱 C/C++,早日获得新生,
上网搜索「九评 C/C++ 后端」有真相。
Forwarded from dnaugsuz
不管是 CS 学生还是 10+ 年经验的高级工程师,都非常刻苦,并且不耻下问,为了为 Internet 的建设贡献流量,主动排除垃圾 Oracle 的平台文档使用 Google、坚持坚守一门语言不被垃圾 JavaScript 沾染,他们真棒,为他们点赞 👍