Ruby有一个正式的规范(比如Java语言规范(JLS))吗?

car*_*rji 22 ruby standards specifications

是否存在Ruby的明确规范,类似于Java Java语言规范.谷歌搜索ruby语言规范提供了http://ruby-std.netlab.jp/,但该网站已关闭,我不确定它是否是最新的

Jör*_*tag 13

Ruby 的正式规范一个草案.它是由开发开放标准促进中心的的信息技术推广局(日本政府机构)提交给日本工业标准委员会,再往上到国际标准化组织.

但是,没有人真正使用此规范.RubySpec是所有Ruby实现者(如Rubinius,IronRuby,JRuby,MacRuby,MagLev等)实际使用的规范.

ISO草案规范与RubySpec之间的三个主要区别是:

  1. RubySpec是完整的:它涵盖了整个Ruby语言,以及整个核心库,从版本1.8.7到1.9.2和1.9.3.ISO草案规范仅涵盖1.8和1.9的交集的非常小的子集.
  2. RubySpec是用Ruby编写的(每个Rubyist都可以阅读的语言),ISO草案规范是用英语编写的,或者更确切地说是ISO Standardese(这是一种只有少数人能够完全理解的语言).
  3. RubySpec是可执行的:您可以针对您的Ruby实现运行它,以查看您仍然缺少的内容.

另一个关于Ruby行为的信息源(双关语)是Rubinius内核源代码,它实现了Ruby语言和Ruby核心库的语义.(注:很多人喜欢的源代码YARV,但我不这样做,有两个原因:首先,YARV是C,它是不是每个Rubyist懂得一门语言,而Rubinius的是在Ruby中,其中(希望每个Rubiyst都知道,其次,Rubinius代码库结构更好,设计更好,组织良好,经过充分测试,记录完备.)

  • 注意,RubySpec现在已经死了。它的维护者援引MRI开发人员的使用不足是其原因:http://rubinius.com/2014/12/31/matz-s-ruby-developers-don-t-use-rubyspec/ (3认同)
  • 很好的答案.啊,我希望RubySpec*是*完整的......它*目标*是,但是对于"它"的简单搜索需要进行完整性的审查"`将说服你它不是.我甚至不清楚它*可能*完整. (2认同)

pol*_*nts 10

Ruby 1.8已成为多个行业标准的主题.Ruby的语言规范由信息技术促进局(日本政府机构)的开放标准促进中心开发,提交给日本工业标准委员会(JISC),然后提交给国际标准化组织(ISO).它在2011年[24]被接受为日本工业标准(JIS X 3017),在2012年被认可为国际标准(ISO/IEC 30170).[25]

参考

也可以看看

  • 谢谢,我注意到spec.ruby-doc.org是一个基于rspec的可执行规范.似乎没有任何项目正在进行书面规范,因此它似乎在ruby社区的优先级列表中看起来很低.有书面规范没有价值 (3认同)
  • 现在有官方规范.唉,阅读费用大约250美元.http://dallarosa.tumblr.com/post/20338743300/ruby-is-accepted-as-an-international-standard http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579 (3认同)