mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-06 23:02:28 +01:00
Contribution by Williams Lima
(Signed-off-by:WilliamsLima) Updated wikipage Removing object while iterating on a LIST. (Signed-off-by:jocelyn). git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2066 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
[[Property:modification_date|Fri, 07 Sep 2018 12:13:00 GMT]]
|
||||
[[Property:modification_date|Mon, 10 Sep 2018 09:06:41 GMT]]
|
||||
[[Property:publication_date|Fri, 07 Sep 2018 12:13:00 GMT]]
|
||||
[[Property:uuid|78393BBA-9B1E-4523-9881-3D83CEB6A952]]
|
||||
[[Property:weight|3000]]
|
||||
[[Property:title|Removing object while iterating on a LIST]]
|
||||
If you already have the object that you want to remove from the `LIST` you can easily use `prune` and `prune_all`. But if you want to remove objects while iterating on that `LIST`, depending on criteria on the objects contained in the `LIST`, here what you can do.
|
||||
If you already have the object that you want to remove from the `LIST` you can easily use `prune` and `prune_all`. But if you want to remove objects while iterating on that `LIST`, depending on criteria on the objects contained in the `LIST`, here is what you can do.
|
||||
|
||||
First of all, if you think about removing an object while iterating, I do not recommend using an `across` loop. If you iterate on the list using a `from until loop end`, just remember to use the `LIST.forth` only when you do not use `LIST.remove`.
|
||||
|
||||
For example, let's say we have class `MY_CLASS` with an attribute `has_stopped` and that I want to remove every object of a `LIST` that has this attribute set to `True`. Here what the code will look like.
|
||||
For example, let's say we have class `MY_CLASS` with an attribute `has_stopped` and that I want to remove every object of a `LIST` that has this attribute set to `True`. Here is what the code will look like.
|
||||
|
||||
<code>
|
||||
removing_stopped (a_list: LIST [MY_CLASS])
|
||||
|
||||
Reference in New Issue
Block a user