data à supprimer dans database ?
JJV17-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...
JJV24-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.
Didec25-Aug-2010/17:31:05+2:00
En théorie (hélas) un simple
blk: unique/skip database 4

aurait dû suffire !

Mais unique/skip est totalement buggué aussi bien sous R2 que R3. Dommage.
shadwolf28-Aug-2010/19:07:01+2:00
Ce n'est buggé que depuis 4 ans en même temps...

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2