Erlang 无法在查询列表理解中应用保护表达式

Erlang 无法在查询列表理解中应用保护表达式,erlang,lfe,Erlang,Lfe,我正在尝试查询列表理解: > (set xs '(1 2 3 4 5 6 7 8)) > (lc ((<- x xs) (when (> x 5))) x) >(设置xs'(12345678)) >(lc((x5)))x) 但是我得到了错误异常错误:未定义的函数when/1 是否可以将保护语句应用于lc?根据,在列表理解限定符中,保护语句必须位于列表表达式之前: ((设定xs’(12345678)) (1 2 3 4 5 6 7 8) lfe>(lc((x5))xs

我正在尝试查询列表理解:

> (set xs '(1 2 3 4 5 6 7 8))
> (lc ((<- x xs) (when (> x 5))) x) 
>(设置xs'(12345678))
>(lc((x5)))x)
但是我得到了错误
异常错误:未定义的函数when/1

是否可以将保护语句应用于
lc

根据,在列表理解限定符中,保护语句必须位于列表表达式之前:

((设定xs’(12345678)) (1 2 3 4 5 6 7 8) lfe>(lc((x5))xs))x) (6 7 8) 您也可以将大于表达式视为普通布尔表达式限定符:

lfe> (lc ((<- x xs) (> x 5)) x)
(6 7 8)
lfe>(lc((x5))x)
(6 7 8)
根据,在列表理解限定符中,保护必须位于列表表达式之前:

((设定xs’(12345678)) (1 2 3 4 5 6 7 8) lfe>(lc((x5))xs))x) (6 7 8) 您也可以将大于表达式视为普通布尔表达式限定符:

lfe> (lc ((<- x xs) (> x 5)) x)
(6 7 8)
lfe>(lc((x5))x)
(6 7 8)