【问题标题】:Adding Swapcase class to string将 Swapcase 类添加到字符串
【发布时间】:2016-11-30 21:06:13
【问题描述】:

尝试为 String 类创建一个方法,该方法将返回一个已交换的字符串。我写了两种不同的方法

class String
  def to_alternating_case
    self.swapcase
  end
end

上面的代码适用于所有输入的字符串。但是如果输入以下代码:

class String
  def to_alternating_case
    self.swapcase!
  end
end

然后一个包含所有数字的字符串将返回 nil。有人能解释一下为什么当涉及到只包含数字的字符串时这些行为会有所不同吗?

【问题讨论】:

  • 如果一个方法没有明确的接收者,接收者被假定为self。因此,您可以将 self.swapcase 替换为 swapcase

标签: ruby string class methods


【解决方案1】:

差异都在手册中。

String#swapcase!:

等效于String#swapcase,但在适当的位置修改接收器,返回strnil(如果未进行任何更改)。注意:大小写转换仅在 ASCII 区域有效。

【讨论】:

    猜你喜欢
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    相关资源
    最近更新 更多