6.3 诗
另可参见:字、词、参、名、料、文。
6.3.1 基础例程
> (诗 #\鹅 #\鹅 #\鹅 #\, #\曲 #\项 #\向 #\天 #\歌 #\。) "鹅鹅鹅,曲项向天歌。"
> (复诗 5 #\鹅) "鹅鹅鹅鹅鹅"
> (诗长 "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。") 22
> (诗提 "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。" 0) #\鹅
> (令 ([某诗 (诗->易诗 "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。")]) (行示 某诗) (诗修! 某诗 1 #\白) (行示 某诗))
"鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。"
"鹅白鹅,曲项向天歌。白毛浮绿水,红掌拨清波。"
> (诗段 "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。" 10) "白毛浮绿水,红掌拨清波。"
> (诗段 "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。" 10 15) "白毛浮绿水"
> (令 ([某A诗 (诗->易诗 "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。")] [某B诗 "大中小白黑蓝"]) (行示 某A诗) (诗修!/以它段 某A诗 0 某B诗 2 4) (行示 某A诗))
"鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。"
"小白鹅,曲项向天歌。白毛浮绿水,红掌拨清波。"
> (令 ([某诗 (诗->易诗 "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。")]) (行示 某诗) (诗复! 某诗 #\呱) (行示 某诗))
"鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。"
"呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱"
> (接诗 "鹅鹅鹅" "曲项向天歌" "白毛浮绿水" "红掌拨清波") "鹅鹅鹅曲项向天歌白毛浮绿水红掌拨清波"
> (诗->链 "鹅鹅鹅,曲项向天歌。") '(#\鹅 #\鹅 #\鹅 #\, #\曲 #\项 #\向 #\天 #\歌 #\。)
> (链->诗 (链 #\鹅 #\鹅 #\鹅 #\, #\曲 #\项 #\向 #\天 #\歌 #\。)) "鹅鹅鹅,曲项向天歌。"
汉化
汉化
汉化
复诗 : 创建一个内容可变的字符串数据结构,其内容为N个重复相同的字。 = make-string
汉化
诗->坚诗 : 把诗转变为坚诗。 = string->immutable-string
汉化
诗长 : = string-length
汉化
诗提 : = string-ref
汉化
诗修! : 将诗的第N处字(从0算起)修改为某字。 = string-set!
汉化
汉化
诗->易诗 : 把诗转变为易诗。 = string-copy
汉化
诗修!/以它段 : 从本诗的第N处字(从0算起)开始做覆盖(以另一个诗中取出的诗段为内容) = string-copy!
汉化
诗复! : 把诗的内容全部变成某一个重复的一个字。 = string-fill!
汉化
接诗 : 把很多诗连接在一块,组成易诗。 = string-append
汉化
坚接诗 : 把很多诗连接在一块,组成坚诗。 = string-append-immutable
汉化
诗->链 : = string->list
汉化
链->诗 : = list->string
汉化
序诗 : 生成一个诗,诗中的每个字都是按照一定的顺序排列的。 = build-string
汉化
汉化
汉化
汉化
汉化
汉化
诗ci=? : = string-ci=?
汉化
诗ci<? : = string-ci<?
汉化
诗ci<=? : = string-ci<=?
汉化
诗ci>? : = string-ci>?
汉化
诗ci>=? : = string-ci>=?
汉化
upcase诗 : = string-upcase
汉化
汉化
汉化
6.3.2 额外例程
(require ming/racket/string) | package: ming |
> (链合成诗 (链 "鹅" "鹅" "鹅" "," "曲" "项" "向" "天" "歌" "。")) "鹅 鹅 鹅 , 曲 项 向 天 歌 。"
> (链合成诗 (链 "鹅" "鹅" "鹅" "," "曲" "项" "向" "天" "歌" "。") "-") "鹅-鹅-鹅-,-曲-项-向-天-歌-。"
> (链合成诗 (链 "鹅" "鹅" "鹅" "," "曲" "项" "向" "天" "歌" "。") "") "鹅鹅鹅,曲项向天歌。"
> (诗碎成链 "鹅 鹅 鹅 \n \n 曲项向天歌 \n\r") '("鹅" "鹅" "鹅" "曲项向天歌")
> (诗碎成链 "鹅-鹅-鹅-曲-项-向-天-歌" "-") '("鹅" "鹅" "鹅" "曲" "项" "向" "天" "歌")
> (诗简空 "鹅 鹅 鹅 \n \n 曲项向天歌 \n\r") "鹅 鹅 鹅 曲项向天歌"
> (诗更 "鹅鹅鹅,曲项向天歌。" "鹅鹅鹅" "小黄鸭") "小黄鸭,曲项向天歌。"
> (诗更 "鹅鹅鹅,曲项向天歌。" "鹅鹅鹅" "") ",曲项向天歌。"
> (诗含? "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。" "白毛浮绿水") #t
> (诗起? "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。" "鹅鹅鹅") #t
> (诗终? "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。" "拨清波。") #t
汉化
诗接* : = string-append*
汉化
链合成诗 : 把一个链内的各个元素聚集在一块组成易诗。 = string-join
汉化
诗碎成链 : 把诗断开成链,默认从空白处,也可自定义。 = string-split
汉化
诗简空 : 把诗内的空格回车等字符都简化成一个空格然后转变成易诗返回。 = string-normalize-spaces
汉化
诗更 : 把诗的一部分内容更换成另一个诗,然后转变成易诗返回。 = string-replace
汉化
汉化
诗含? : = string-contains?
汉化
诗起? : = string-prefix?
汉化
诗终? : = string-suffix?