我觉得我应该先道歉,因为这似乎是之前可能提出的那种问题。我找不到答案,所以我在这里问。
我正在通过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/