Tag: 文档

是否有Ruby语法的权威参考文档?

我正在寻找关于Ruby语法的权威文档。 我知道核心API和标准库的权威文档,但语法本身呢? 例如,这样的文档应该包括:保留字,字符串文字语法,变量/类/模块的命名规则,所有条件语句及其排列等等。 我知道有很多书和教程,是的,但是每一本都是教程,每一本都有不同的深度和焦点。 他们都必须通过简洁和叙事流程,忽略作者认为无关紧要的语言的某些细节。 例如,您是否知道您可以使用没有初始案例值的case语句,然后它将执行第一个true when子句? 任何给定的Ruby书籍或教程可能会也可能不会涵盖案例语法的特定鲜为人知的function。 关于案例陈述,“Ruby Ruby”一节中没有对此进行讨论。 但这只是一个小例子。 到目前为止,我发现的最好的文档是rubyspec项目,它似乎是尝试为该语言编写完整的测试套件。 这还不错,但从实际角度来看,作为开发我自己项目的开发人员有点困难。 我只是遗漏了什么或者是否真的没有明确可读的文档来定义整个Ruby语法?

使用YARD记录模型属性

我正在使用YARD为我的rails应用程序生成文档,使用makrdown作为脚本解析器。 大多数文档function都是开箱即用的。 但是,我还想将模型属性记录为一个,记录模型上的可用属性列表和两个,以描述它们的语义含义。 我无法在YARD中找到任何特殊的支持,我基本上只是列出了类评论中的属性。 有没有办法记录动态生成的模型属性,以便它们像标准属性/方法一样出现在文档中? PS我已经使用annodate-models gem在类列表的顶部生成基本的模式转储,但这不是我想要的。

迭代Yardoc` @ macro`的寄存器

我正在寻找迭代一个yardoc @macro的寄存器的@macro 。 我知道你可以使用它们如下所示: class Post include DataMapper::Resource # @macro dm.property # @return [$2] the $1 $0 of the post property :title, String end 并且您可以生成寄存器由coma分隔的参数,就好像您正在使用如下所示的数组的一部分: # @macro dsl_method # @method $1(${2–2}) # @return [${-1}] the return value of $0 create_method_with_args :foo, :a, :b, :c, String 生成: foo(a, b, c)并returns (String) the return value of create_method_with_args […]

Array()的文档在哪里?

浏览规则源代码,我注意到他们正在调用Container(:和) ,这是我很少看到的。 事实上,我见过的唯一另一个地方就是制作gem 快速浏览显示Container子类Array ,以及快速跳转到Pry显示Array(:anything) #=> [:anything] 。 另外快速浏览一下Array的ruby文档并没有对这个问题有所了解。 Array()调用了什么方法,它在哪里记录,如何定义这样的方法,它在ruby中被认为是“坏forms”?

用YARD记录“splatted”参数的最佳方法是什么?

我有一个方法应该采用任何类的1+参数,类似于Array#push : def my_push(*objects) raise ArgumentError, ‘Needs 1+ arguments’ if objects.empty? objects.each do |obj| puts “An object was pushed: #{obj.inspect}” @my_array.push obj end end 使用YARD语法记录方法参数的最佳方法是什么? 编辑: 我意识到我原来的问题有点过于模糊,并没有明确说明我在寻找什么。 一个更好的问题是,在使用splatted参数时,在YARD中指定方法的arity(在这种情况下为1-∞)的最佳方法是什么? 我知道我可以在文本中指定它,但似乎应该有一个标签或类似的东西来指定arity。