我是功能編程(RationalML/OCaml)的新手。限制遞歸浮動列表的前三個元素
我有一個浮動列表。我想獲得列表中的前三個非零項目,而不是更多。項目可以是正數,負數和零。
在前三個非零浮點數被提取前,如何限制遞歸?
我的想法做類似的:
switch (list) {
| [first, second, third, ...rest] => (first +. second +. third) /. 3.0
| _ => 0.0
};
但我怎麼能保證first
,second
和third
非零花車?如果是,則遞歸丟棄它們直到找到三個非零浮點數 - 或返回0.0
。
非常感謝!對於那些希望看到ReasonML語法的用戶,可以使用此工具在OCaml和RationalML片段之間進行轉換。 https://reasonml.github.io/try/?ocaml=DYUwLgBAZglgdgEwPpwsCqB+UIF4IGFHEmlnkWVXU2130ONMUBQBokATiAMZoD2-AA5oA5BnEBDHn1xtCMHHHH4ADBDAALEKml8QwAM4h5RALaSwPTWIgB3GFtOEAPhADaAXQgBaAHzQkjDADloQAEQAwpJwcPyQsIgQOvwArgDmNo4gZobhzgRumgBcxZD+BcSK0BA2WjqVJMCCIpAAFMq+EACMAJQQbSXFer2NhAbGY0TNwhoSEHry8PIzIuioXkA –