Hi all,

two more cents to let Break work as usual: :-)

use [insert-only break-return] [
 insert-only: func [series value] [insert/only series value]
 break-return: func [value] [break/return value]
 collectB: func [
  {Collects block evaluations, use as body in For, Repeat, etc.}
  block [block!] "Block to evaluate."
  /initial result [series!] "Initialize the result."
  /only "Inserts into result using the Only refinement."
 ][
  result: reduce [:break-return any [make result result make block! 10]]
  reduce [
    :loop 1 reduce [
    :change result :first reduce [:break-return]
     :head pick reduce [:insert :insert-only] not only
     :tail :second result :do block
    :change result none
   ]
   :do result
  ]
 ]
]

ex.

probe repeat x 10 collectb [if x = 6 [break] x * 2] 

---
Ciao
Romano

-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.

Reply via email to