Supprimer une propriété

Question de newbie…
Je ne trouve pas d’équivalent à OB REMOVE, pour supprimer une propriété en notation à point : ça existe ?

Bonjour Arnaud,

pas sur de bien comprendre. Tu as quelque chose comme cela :

maColl.monObject.prop1
maColl.monObject.prop2
maColl.monObject.prop3

et tu veux récupérer uniquement
maColl.monObject.prop1
maColl.monObject.prop2

c’est bien cela ?

Exactement.

Ben du coup, je pense que je ferais pareil.

J’ai essayé map et extract, je ne trouve pas ça satisfaisant…

<code 4D>
C_COLLECTION($test_c;$test2_c)
$test_c:=New collection()
$test_c.push(New object(“p1”;“a”;“p2”;True;“p3”;11))
$test_c.push(New object(“p1”;“b”;“p2”;False;“p3”;22))
$test_c.push(New object(“p1”;“c”;“p2”;False;“p3”;33))
</code 4D>

• collection.extract() oblige à mentionner chaque propriété à conserver, j’aimerais mieux me contenter de dire celle à enlever :
<code 4D>
$test2_c:=$test_c.extract(“p1”;“p1”;“p2”;“p2”)
</code 4D>

• collection.map() complexifie bêtement le code :
<code 4D>
$test2_c:=$test_c.copy()
$test2_c.map(“deleteProperty”;“p3”)
ASSERT($test_c[0].p3#Null)
ASSERT($test2_c[0].p3=Null)
</code 4D>
<code 4D>
//deleteProperty
//supprime la propriété $2 d’une collection d’objets
C_OBJECT($1)
C_TEXT($2)
$1.result:=$1.value
OB REMOVE($1.result;$2)
</code 4D>