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
#Math 再去看一下更新喽?(高中数学爱好者的说?可是我因为原来基础的原因不是特别喜欢数学
Forwarded from Math notes | 数学笔记 (Ying Kanyang)
笔记将于今日更新
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 什么的... 累。