CSVの作り方いろいろ

評価:新参者
aString := ''.
anArray := #('1' '3' '4' '5' 'A' 'X').
anArray
    do: [:each | aString := aString, '"', each, '",'].
aString allButLast: 1

評価:直球勝負
aString := ''.
anArray := #('1' '3' '4' '5' 'A' 'X').
anArray
    keysAndValuesDo: 
        [:key :val | 
        key = 1 
            ifTrue: [aString := aString, '"', val, '"']
            ifFalse: [aString := aString, ',"', val, '"']].
aString

評価:素直
aString := ''.
anArray := #('1' '3' '4' '5' 'A' 'X').
anArray
    do: [:each | aString := aString, '"', each, '"']
    separatedBy: [aString := aString, ','].
aString

評価:ひねくれ者
aString := ''.
anArray := #('1' '3' '4' '5' 'A' 'X').
anArray
    with: (1 to: anArray size) do: 
        [:val :key | 
        key = 1 
            ifTrue: [aString := aString, '"', val, '"']
            ifFalse: [aString := aString, ',"', val, '"']].
aString

評価:ぶっきらぼう
anArray := #('1' '3' '4' '5' 'A' 'X').
aString := '"', 
            (anArray fold: [:val1 :val2 | val1,'","', val2]), '"'.

評価:回りくどい
anArray := #('1' '3' '4' '5' 'A' 'X').
aString := (anArray collect: [:val | '"', val, '"'])
                fold: [:val1 :val2 | val1,',', val2].

評価:江戸っ子はせっかち
anArray := #('1' '3' '4' '5' 'A' 'X').
aString := (anArray inject: '"' into: [:val1 :val2 | val1, val2, '","']) allButLast: 2

名前:
コメント:
-

タグ:

+ タグ編集
  • タグ:
最終更新:2011年03月23日 15:59
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。