论坛首页 编程语言技术论坛

inject的疑惑

浏览 10739 次
锁定老帖子 主题:inject的疑惑
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2007-05-30  
可以看看我对inject方法的理解。
http://blackanger.blog.51cto.com/blog/140924/28529
0 请登录后投票
   发表时间:2007-05-31  
dcaoyuan 写道




我注意到Erlang的设计者非常注意这些问题,Erlang在引入if子句(是后来引入的)时非常合理:
if
  expr1 -> result1;
  expr2 -> result2;
  ...
  true  -> resultn
end

if的执行是从上至下,遇到第一个满足的判断条件时即退出,注意到最后一个条件始终是true(所有的出口尽在掌握中)。这样的设计与单句逻辑表达式 (expr1 or expr2 .. or ..)的短路判断是完全一致的。就是说,Erlang的语法设计处处体现这种一致性,为了这种一致性,甚至不需要增加else关键字,因为从逻辑上看,它与单句复合条件判断中的短路退出是一回事。而且这种设计让if子句与case子句也是一致的。

换句话说,Erlang的设计处处体现严谨的数学根底,而ruby更像是从日常语言出发来设计script语言(包括允许能省则省,就像我们日常会话时,能根据上下文判断省略的内容)。

我没有贬低ruby的意思,哪种更合用完全看你用来干什么。对于企业级应用,在编程时应该强调所使用语言的严谨性,但也许在分析、沟通时采用Ruby式的语言更合适。就是说,一旦变成处理日常业务的内存里的算法,采用严谨些的语言当然更可以确保安全可靠性。



换句话说,Erlang的设计处处体现严谨的数学根底,而ruby更像是从日常语言出发来设计script语言(包括允许能省则省,就像我们日常会话时,能根据上下文判断省略的内容)。

强烈赞同
0 请登录后投票
   发表时间:2007-05-31  
编辑器问题,重复提交,已删除。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics