![]() |
| data à supprimer dans database ? | |
| JJV | 17-Aug-2010/16:07:06+2:00 |
| Bonjour, j'ai un prob d' information redondante (à supprimer) lignes 2, 4, 8 dans une database (exemple). database: [ a "b" "c 1" "d" a "b" "c 2" "d" ;ligne 2 a "b" "c 3" "d" a "b" "c 2" "d" ;ligne 4 a "b" "c 5" "d" a "b" "c 6" "d" a "b" "c 7" "d" a "b" "c 2" "d" ;ligne 8 ] foreach [ elem1 elem2 elem3 elem4 ] database [ print [elem3 elem4] wait 1 ] ;resultat de print ; c 1 d ; c 2 d ; c 3 d ; c 2 d -> (à supprimer) ; c 5 d ; c 6 d ; c 7 d ; c 2 d -> (à supprimer) je souhaiterai avoir le résultat suivant, c-a-d sans deux fois ou n fois le même résultat c 1 d c 2 d c 3 d c 5 d c 6 d c 7 d merci à vous, JJV | |
| jipé | 23-Aug-2010/18:10:21+2:00 |
| Bonjour, Une piste :
blk: []
database: [
a
"b" "c 1" "d"
a
"b" "c 2" "d" ;ligne 2
a
"b" "c 3" "d"
a
"b" "c 2" "d" ;ligne 4
a
"b" "c 5" "d"
a
"b" "c 6" "d"
a
"b" "c 7" "d"
a
"b" "c 2" "d" ;ligne 8
]
clear blk
forskip database 4 [
probe res: reduce [third database fourth database]
if not found? find/only blk res [
append/only blk res
]
]
print blk
A mettre en forme pour tes besoins... | |
| JJV | 24-Aug-2010/20:03:24+2:00 |
rebol[]
blk: []
database: [
a
"b" "c 1" "d"
a
"b" "c 2" "d"
a
"b" "c 3" "d"
a
"b" "c 2" "d" ;ligne 4 à supp
a
"b" "c 5" "d"
a
"b" "c 6" "d"
a
"b" "c 7" "d"
a
"b" "c 2" "d" ;ligne 8 à supp
]
clear blk
foreach [ elem1 elem2 elem3 elem4 ] database [
res: reduce [ elem1 elem2 elem3 elem4 ]
if not found? find/only blk res [
append/only blk res
]
]
print blk wait 5
write %new-database.txt blk
Merci jipé pour ton code qui a inspiré cette variante. | |
| Didec | 25-Aug-2010/17:31:05+2:00 |
En théorie (hélas) un simpleblk: unique/skip database 4 aurait dû suffire ! Mais unique/skip est totalement buggué aussi bien sous R2 que R3. Dommage. | |
| shadwolf | 28-Aug-2010/19:07:01+2:00 |
| Ce n'est buggé que depuis 4 ans en même temps... | |
|
Login required to Post. | |