我正在测试一个表达式,其中包含两个不等式,以满足列表解析的条件。有没有办法在这里进行赋值,而不重复该表达式?
下面的代码不起作用,但我希望它能起作用:
diagnose(Expertise,PatientSymptoms) ->
{[CertainDisease||
{CertainDisease,KnownSymptoms}<-Expertise,
C=length(PatientSymptoms)-length(PatientSymptoms--KnownSymptoms),
C>=2,
C<=5
]}.
3条答案
按热度按时间q0qdq0h21#
不使用
fun
直接写入的方法是使用以布尔测试结尾的begin ... end
块:r7xajy2e2#
定义筛选函数;这样,每个元素只调用一次,消除了重复计算
C
:在你的列表理解中使用它,就像这样:
d4so4syb3#
您也可以将指派转换成单一产生器: