Tag: 括号

Ruby函数调用括号的主要风格是什么?

假设我有func_a和func_b都接受一个参数,我想将func_b的结果func_b给func_a 。 括号内最常见的方法是什么? func_a func_b input func_a func_b(input) func_a(func_b input) func_a(func_b(input))

在括号中包含参数时,Ruby Kernel.raise方法会引发错误

我喜欢用括号括起来的方法参数,这是一些Pascal的怀旧之情。 清理代码时,如果我找到没有它的方法参数,我会立即将它们括起来。 今天它导致我的工作代码抛出错误,虽然我的语法看起来没问题根据文档。 Kernel.raise的文档具有以下格式: (Object) raise(exception[, string [, array]]) 这些都有效: > raise TypeError TypeError: TypeError > raise (TypeError) TypeError: TypeError > raise “Error message” RuntimeError: Error message > raise (“Error message”) RuntimeError: Error message 但是下一个抛出语法错误的封闭版本: > raise TypeError, “Error message” TypeError: Error message > raise (TypeError, “Error message”) SyntaxError: unexpected ‘)’, expecting $end 我可以没有它,我只是想知道为什么这会以错误结束。

Ruby语法问题:Rational(a,b)和Rational.new!(a,b)

今天我在Rational类中遇到了奇怪的ruby语法: Rational(a,b) (注意缺少.new()部分与普通的Ruby语法相比)。 与正常的new语法相比,这意味着什么呢? 更重要的是,我如何在我自己的代码中实现这样的东西,为什么我会实现这样的东西? 特别是对于Rational类,为什么使用这种语法而不是正常的实例化? 为什么new方法在理性类中是私有的? (以及我如何/为什么要在我自己的ruby代码中执行此操作?)提前感谢您的回答,特别是因为我问了很多问题。

如何在正则表达式中使用双括号?

双方括号在正则表达式中意味着什么? 我对以下示例感到困惑: /[[^abc]]/ /[^abc]/ 我正在使用Rubular进行测试,但我发现双支架和单支架之间没有任何区别。