I want to delete an element from an array when it matches a condition.
But I first want to print something to the screen when a amùcth is
found.
I know a.delete_if but can I somehow add that print to the screen next
to the condition? If not , is there an alternative way to delete from
an array while iterating?
On Wed, Mar 25, 2009 at 9:47 AM, Tarscher <tarscher@gmail.com> wrote:
Hi all,
I want to delete an element from an array when it matches a condition.
But I first want to print something to the screen when a amùcth is
found.
I know a.delete_if but can I somehow add that print to the screen next
to the condition? If not , is there an alternative way to delete from
an array while iterating?
Alle Wednesday 25 March 2009, Tarscher ha scritto:
Hi all,
I want to delete an element from an array when it matches a condition.
But I first want to print something to the screen when a amùcth is
found.
I know a.delete_if but can I somehow add that print to the screen next
to the condition? If not , is there an alternative way to delete from
an array while iterating?
thanks
Stijn
In the block you can do anything you want. Just make sure you return a true
value or a false value depending on whether the element should be removed or
not. Here's an example:
a = [1,-1,-2,2,3]
a.delete_if do |i|
if i < 0
puts "#{i} will be deleted"
true
else false
end
end
This will return [1,2,3] and give the following output:
What makes you think you cannot print in the block of a delete_if?
irb(main):009:0> a = (1..5).to_a
=> [1, 2, 3, 4, 5]
irb(main):010:0> a.delete_if {|x| printf "Found %4d\n", x; x % 3 == 0}
Found 1
Found 2
Found 3
Found 4
Found 5
=> [1, 2, 4, 5]
irb(main):011:0> a
=> [1, 2, 4, 5]
robert
···
2009/3/25 Tarscher <tarscher@gmail.com>:
I want to delete an element from an array when it matches a condition.
But I first want to print something to the screen when a amùcth is
found.
I know a.delete_if but can I somehow add that print to the screen next
to the condition? If not , is there an alternative way to delete from
an array while iterating?
--
remember.guy do |as, often| as.you_can - without end