来自 Peng Zhao | March 23, 2019
sinx 包是个语录集,默认素材主要来自统计之都,附送唐诗、宋诗、金庸语录、中文名言、英文名言、养生语录……未来也不排除采集其他来源的语录。欢迎大家贡献精彩语录。直接 PR 到项目主页 即可。
此包虽然简单,然而提交到 CRAN 的过程却颇为坎坷,以后有机会再详细说。好在历经千难万险,这个没啥用的包终于在 CRAN 发布了。
怎么装
if(!require('remotes')) install.packages('remotes')
remotes::install_github('pzhaonet/sinx', build = TRUE,
build_opts = c("--no-resave-data", "--no-manual"))
怎么用
主要函数:
sinx() # 打印一条语录
tanx() # 小猫小狗说语录
secx() # 把语录做成一本电子书
ctanx() # 往 ~/.Rprofile 里添加一条代码,在 R 启动时随机显示一条语录
read.sinxs() # 读取语录文件
vignette('sinx') # 语录合集
详见各函数的帮助信息,或在线文档。。
例如,我经常需要用下面这一条语录来回答论坛上的提问:
sinx::sinx(1)
##
## 这个问题我很感兴趣,然而遗憾的是,这个问题我无法重现。
##
## 能否提供一个可以重现问题的数据和代码示例,让我直接拷贝粘贴就能运行?最好能提供 `session_info()` 信息。
##
## 提问题的方式详见[新手须知 1.2 正确的发帖姿势](https://d.cosx.org/d/1553-1553)。
## -- dapengde (耐心温馨欢欣地回答一个不规范的提问)
## d.cosx.org (2018 年 12 月)
支持字符串搜索,也支持正则表达式:
sinx('不知道')
##
## 那我就不知道为什么了……
##
##
## -- yihui (<https://d.cosx.org/d/420428/4>)
## d.cosx.org (2019-01)
值得一提的是,语录文件是可以随意扩展的,只需用 read.sinxs()
一次读入多个文件即可。下面这个例子,将所有自带语录合并进来,随机显示:
libs <- read.sinxs(lib = c("tangshi", "songshi", "chinese", "yangsheng", "english","jinyong"))
tanx(sinxs.data = libs)
有啥用
坦率讲,正常情况下,这个包没啥用。
或者说,fortunes 包有啥用,sinx 就有啥用。sinx 更有用。
我假想了几个使用场景。
例如,在 R 编程无聊的时候,你可以敲一个 sinx::sinx()
,随便看一句中文语录。你可以选择显示哪个语库,例如朋友的短信集。
你可以把 sinx::tanx()
插入到代码某个地方,将来运行的时候,会突然出来个小宠物,说了一句曾经熟悉的话。
也可以把它们加到 ~/.Rprofile
里,这样,在 R 启动时随机显示一条语录。我有一次就这么干了,然后在生成一个 R 包时,我惊呆了,原来 R 要重启这么多次!
fortunes 包对我来说最大的用途,就是生成了《学 R》一书各章的卷首引用语。我希望 sinx 将来也在类似的地方大展宏图。