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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
Forwarded from 臺北網路
🙋‍♂️ 如果 Google 推出代碼翻譯服務
Forwarded from Genteure's Window
Forwarded from METO 的涂鸦板
📏 nano 编辑器 4.0 来了
Forwarded from METO 的涂鸦板
🇯🇵 Unicode 12.1 将支持日本新年号
METO 的涂鸦板
📏 nano 编辑器 4.0 来了
duangsuse::Echo
那么,完成这程序需要的一些信息: #Kotlin #tools #project — Regex 正则表达式匹配 group 新消息的 Regex /^(.+), \[(\d{2})\.(\d{2})\.(\d{2}) (\d{2}):(\d{2})\]$/ 对应数据:data class MessageHead(val channel: DisplayName, val date: Date) 新消息,reply to /^\[In reply to (.+)\]$/ 数据:data class R…
话说,扫描器使用的 Regexp,有的(/(^|\s)#(?!#)((\S(?<![\(\)]))+)/)使用了 PCRE2 的 Regexp Negative Lookbehind 和 Negative Lookahead 特性来保证 hastag 有正确的切分,不知道 Java stdlib Regexp 支不支持,Perl 真的是一个很有价值的 UNIX-like 解释器呢。

VSCode 里,这些匹配断言需要开启特殊的配置选项(UsePCRE2)才能使用 🤔
duangsuse::Echo
话说,扫描器使用的 Regexp,有的(/(^|\s)#(?!#)((\S(?<![\(\)]))+)/)使用了 PCRE2 的 Regexp Negative Lookbehind 和 Negative Lookahead 特性来保证 hastag 有正确的切分,不知道 Java stdlib Regexp 支不支持,Perl 真的是一个很有价值的 UNIX-like 解释器呢。 VSCode 里,这些匹配断言需要开启特殊的配置选项(UsePCRE2)才能使用 🤔
可以使用。不过我觉得 Regex 可以修改以减少后序处理的过程。

import java.util.regex.*;

pat = Pattern.compile("(^|\\s)#(?!#)((\\S(?<![\\(\\)]))+)")
m = pat.matcher("#abc #dev")

m.reset()
while (m.find()) { println(m.group().trim()) }
F**king delegates 为什么没有用,然后不能直接 by... Kotlin 一大堆 Property 抽象也看不懂...
duangsuse::Echo
F**king delegates 为什么没有用,然后不能直接 by... Kotlin 一大堆 Property 抽象也看不懂...
This media is not supported in your browser
VIEW IN TELEGRAM
啊我的 Delegate 写错了啊!只是 Serializable by 的话当然没有自动代理实现 Date... 对象代理用的也不对,应该引用 property 的

我应该写个 TimeStamp 接口然后一起的...
累死了... 真的好无聊,我居然一直在做码农的工作呢。
https://github.com/duangsuse/TelegramMessageScanner-KotlinMulti-Failed/blob/master/src/commonMain/kotlin/org/duangsuse/messagescanner/model/Date.kt

白写了这么久,可惜 Kotlin Common 居然有这些东西本来应该自带的,Kotlin 的 Doc 上也有说有 Common 版本的,IDEA 的 project template 居然都没法直接用,真是令人心累啊...(跑
duangsuse::Echo
可以使用。不过我觉得 Regex 可以修改以减少后序处理的过程。 import java.util.regex.*; pat = Pattern.compile("(^|\\s)#(?!#)((\\S(?<![\\(\\)]))+)") m = pat.matcher("#abc #dev") m.reset() while (m.find()) { println(m.group().trim()) }
🤔 一旦开始写的东西,都是一些对真正的业务逻辑来说可有可无的东西时,就比较危险了...

下面 duangsuse,唉,希望早日能有快速完成任何实际工程的能力吧。


Maven 的 POM 怎么写又忘了,我思量着要不要先拿大家都觉得很垃圾的 Java 8 来完成这个扫描器

<dependenciesManagement>
<dependencies>
<dependency>
<groupId>org.duangsuse</groupId>
<artifactId>telegram_message_scanner</artifactId>
<version>1.0.0</version>
<scope>main</scope>
<dependency>
</dependencies>
</dependenciesManagement>

Gradle 的也很难记,Gradle 的 Configuration、Task、Artifact、Plugin、Dependencies、Repositories 也不好记... gradle 用一些 fileTree, doLast, extendFrom, copy, delete, each 什么的... 累。
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM