一件关于思维的小事,值得记录。

Vim 中文群 讨论,发现自己某个回复有问题,想要划掉原来的回答。我记得 telegram 是支持简单 Markdown 语法的,也看到有用户使用过,查了一下,确实是支持的1。不过奇怪的是,我重新编辑了那条回复,想用 ~~ 来生成删掉的文字效果,结果并没有生效:~~ 直接被显示出来,format 失败。我试着在一条新的消息(不是回复别人的消息)里面使用同样的语法,结果生效了。于是我很草率的得出了一个错误的结论:回复别人消息的时候,不能使用 Markdown 的删除文字语法,单独的一条消息里面才能生效。

后面有人指出,~~ 之所以在回复消息里面没有生效,是因为它前面紧贴非空格字符,如果它前面是空格,那么删除语法可以生效。我试了一下,确实是可以的。刚才单独消息里面删除语法之所以生效,也是它前面没有非空格字符导致,并不是因为我发了一条单独消息。我对事情的原因进行了错误的分析和归因。

问题的根源是什么?它很重要。为什么这个问题如此重要?越知道根源,我们越「自由」。如果我把删除语法不生效归因为我在回复别人消息,我可能以后再也不会在回复别人消息的时候使用 Markdown 语法,我错误地以为在这种情况下,Markdown 语法无法生效。错误的归因,限制了我能使用的工具/方法,我会因此而受限。

参考


  1. 详情见这里:https://core.telegram.org/api/entities ↩︎