我觉得我应该先道歉,因为这似乎是之前可能提出的那种问题。我找不到答案,所以我在这里问。

我正在通过RubyKoans,我在about_strings.rb的第24行
有一个测试:

def test_use_flexible_quoting_to_handle_really_hard_cases
  a = %(flexible quotes can handle both ' and " characters)
  b = %!flexible quotes can handle both ' and " characters!
  c = %{flexible quotes can handle both ' and " characters}
  assert_equal true, a == b
  assert_equal true, a == c
end

那么a,b和c之间的区别到底是什么。为什么确切地存在三种做某事的方式?这似乎是不合逻辑的。我知道Ruby是灵活的,但我不认为这是不合逻辑的。

最佳答案

查看其他语言,您会看到相同的事情。

有时我们需要能够定义不在字符串中的换行符,并且使用%可以做到这一点。这是一种避免“leaning toothpick syndrome”的强大且非常有用的方法。

关于ruby - ruby 中的灵活报价之间有区别吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22107174/

10-09 12:28