Add tags

Add tags to the following comment
文字列の長さ分'1'を並べたリストをn要素ごとに分割(余りは0fill)し、i番目の要素を合計するとそれがi行目の文字数になる。

gosh> (define *sample*
  "ゆめよりもはかなき世のなかをなげきわびつゝあかしくらすほどに四月十よひにもなりぬれば木のしたくらがりもてゆく")
*sample*
gosh> (divid 4 *sample*)
("ゆめよりもはかなき世のなかを" "なげきわびつゝあかしくらすほ" "どに四月十よひにもなりぬれ" "ば木のしたくらがりもてゆく")
gosh> (divid 5 *sample*)
("ゆめよりもはかなき世の" "なかをなげきわびつゝあ" "かしくらすほどに四月十" "よひにもなりぬれば木の" "したくらがりもてゆく")
gosh> (divid 6 *sample*)
("ゆめよりもはかなき" "世のなかをなげきわ" "びつゝあかしくらす" "ほどに四月十よひに" "もなりぬれば木のし" "たくらがりもてゆく")
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
(use gauche.sequence)
(use util.list)
(use srfi-13)

(define (divid n str)
  (values-ref
   (map-accum (lambda (n s) (values (string-take s n) (string-drop s n)))
              str
              (apply map + (slices (make-list (string-length str) 1) n #t 0)))
   0))

Add tags

The input will be splited to tags with space.

Index

Feed

Other

Link

Pathtraq

loading...