gpt4 book ai didi

ruby - Ruby 通用定界输入的优缺点是什么? (百分比语法)

转载 作者:数据小太阳 更新时间:2023-10-29 06:48:08 25 4
gpt4 key购买 nike

我不明白为什么有些人在 ruby​​ 中大量使用百分比语法。

例如,我正在阅读 ruby plugin guide它使用如下代码:

%w{ models controllers }.each do |dir|
path = File.join(File.dirname(__FILE__), 'app', dir)
$LOAD_PATH << path
ActiveSupport::Dependencies.load_paths << path
ActiveSupport::Dependencies.load_once_paths.delete(path)
end

每次看到这样的东西,我都得去查找百分比语法引用,因为我不记得 %w 是什么意思。

这种语法真的比 ["models", "controllers"].each ... 更可取吗?

我认为在后一种情况下,我定义了一个字符串数组更清楚,但在前一种情况下——尤其是对于学习 ruby​​ 的人来说——似乎不太清楚,至少对我而言。

如果有人能告诉我我在这里遗漏了一些关键点,那么请告诉我,因为我很难理解为什么绝大多数 ruby​​ 程序员似乎更喜欢百分比语法。

最佳答案

一般分隔输入(如 %w、%r 等被调用)的一个很好的用途是避免必须转义分隔符。这使得它特别适合带有嵌入式定界符的文字。对比正则表达式

  /^\/home\/[^\/]+\/.myprogram\/config$/

  %r|^/home/[^/]+/.myprogram/config$|

或字符串

  "I thought John's dog was called \"Spot,\" not \"Fido.\""

  %Q{I thought John's dog was called "Spot," not "Fido."}

当您阅读更多 Ruby 时,一般定界输入(%w、%r 等)的含义以及 Ruby 的其他特性和习惯用法将变得清晰。


我相信 Ruby 通常有多种方法来完成同一件事并非偶然。 Ruby 和 Perl 一样,看起来是一个 postmodern language。 : 极简主义不是核心值(value)观,而只是众多相互竞争的设计力量之一。

关于ruby - Ruby 通用定界输入的优缺点是什么? (百分比语法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2260221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com