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

时间:2010-07-16 08:11:59

标签: ruby standards specifications

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

3 个答案:

答案 0 :(得分:13)

a draft的Ruby有formal specification。它由Open Standards Promotion Center(日本政府机构)Information-Technology Promotion Agency开发,用于提交Japanese Industrial Standards Committee,然后继续提交International Organization for Standardization

但是,没有人真正使用此规范。所有Ruby实现者都使用实际的规范,如RubiniusIronRubyJRubyMacRubyMagLev和等等,是RubySpec

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实现运行它,看看你还缺少什么。
  4. 关于Ruby行为的另一个很好的信息来源(双关语)是source code of the Rubinius kernel,它实现了Ruby语言和Ruby核心库的语义。 (注意:很多人更喜欢the source codeYARV,但我没有,原因有二:首先,YARV在C中,这是一种并非每个Rubyist都知道的语言,而Rubinius则是在Ruby中,(希望)每个Rubiyst都知道,其次,Rubinius代码库结构更好,设计更好,组织良好,经过良好测试,记录完备。)

答案 1 :(得分:10)

  

Ruby 1.8已成为多个行业标准的主题。 Ruby的语言规范由信息技术促进机构(Japanese government机构)的开放标准促进中心开发,以提交给Japanese Industrial Standards Committee(JISC),然后提交给International Organization for Standardization (ISO)。它在2011年被 [24] 和国际标准(ISO/IEC 30170)接受为日本工业标准(JIS X 3017)。 [25] < / SUP>

参考

另见

答案 2 :(得分:0)

如果您转到

https://docs.ruby-lang.org/en/2.6.0/syntax_rdoc.html

https://www.ruby-lang.org/en/documentation/

“官方Ruby API文档”

https://docs.ruby-lang.org/en/

https://docs.ruby-lang.org/en/2.6.0/

然后在“页面”下选择“语法”

然后您将获得此页面,以及指向其他相关页面的链接

https://docs.ruby-lang.org/en/2.6.0/syntax_rdoc.html

Ruby语法很大,分为以下几部分:

文学
数字,字符串,数组,哈希等。

分配 赋值和变量

控件表达式
如果,除非,虽然,直到,为了,中断,下一个,重做

方法
方法和方法参数语法

呼叫方法
如何调用方法(或向方法发送消息)

模块和类
创建包括继承的模块和类

例外
异常处理语法

优先级
红宝石运算符的优先级

精炼
实验优化功能的用途和行为

其他
别名,undef,BEGIN,END