语法规范中的 Clause guards 该如何翻译

2014-05-19 11:31:04 +08:00
 ibudao
最近想翻译一篇Erlang的specification,碰到这样个术语:clause guard,不知道如何翻译是好。
我不知道哪些语言也有这个概念,在erlang中,如下函数:

is_old(Age) when is_integer(Age) and Age>60 ->
io:format("Old man~n");
is_old(Age) when is_integer(Age) ->
io:format("Young man~n").

is_old/1这个函数对参数Age有这样的检查:is_integer(Age) and Age>60,这就是clause guard,虽然一看就懂,但是真不知道该怎么翻译。。
3769 次点击
所在节点    程序员
3 条回复
JoshuaJin
2014-05-19 13:21:16 +08:00
卫戍语句
ibudao
2014-05-19 13:44:51 +08:00
@JoshuaJin 卫戍?额,太高大上了,我还是直接翻译成'断言'算了。。
bombless
2014-05-19 15:22:54 +08:00
这种就是所谓的卫语句吧
在Haskell和Scala的教程中都是这么叫的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/113206

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX