Comment detail
RFC 4180対応版 CSVレコードの分解 (Nested Flatten)call-with-input-stringには「portを引数に取る手続き」であれば何でも渡せるので、 (make-csv-reader #\,) の結果をそのまま渡すことができます。 lambdaにくるむ必要はありません。 それから、単純なインデックスつきループであれば for-each-with-indexというのがあります。 なので、こんなふうに書けます:
1 2 3 4 5 6 | (use text.csv)
(use gauche.sequence)
(define (splitCSV line)
(for-each-with-index (cut print <>" => "<>)
(call-with-input-string line (make-csv-reader #\,))))
|
おっと、カラムの表示は1からスタートでしたか。そしたらcutは使えないですね。
1 2 3 4 5 6 7 | (use text.csv)
(use gauche.sequence)
(define (splitCSV line)
(for-each-with-index
(lambda (i e) (print (+ i 1)" => "e))
(call-with-input-string line (make-csv-reader #\,))))
|
どうも、勉強になります。





rubikitch
#1515()
[
Scheme
]
Rating-1/1=-1.00
Rating-1/1=-1.00-0+
1 reply [ reply ]