>> a: [[1 2] "a" a [3 3]]
== [[1 2] "a" a [3 3]]
>> collect [foreach x a [if block? x [keep x]]]
== [1 2 3 3]
Но я хочу [[1 2] [3 3]]. Кажется, что сбор/сохранение сгладит результат (с точки зрения блока). Как это предотвратить?
>> a: [[1 2] "a" a [3 3]]
== [[1 2] "a" a [3 3]]
>> collect [foreach x a [if block? x [keep x]]]
== [1 2 3 3]
Но я хочу [[1 2] [3 3]]. Кажется, что сбор/сохранение сгладит результат (с точки зрения блока). Как это предотвратить?
Используйте 1_. К вашему сведению, keep
имеет почти ту же семантику, что и append
(за исключением нескольких уточнений) с неявным блоком, который collect
обеспечивает внутри: см. ?? collect
для деталей.
parse
:parse a [collect some [keep block! | skip]]
- person endo64   schedule 23.03.2021