gpt4 book ai didi

ruby : %w performance

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

也许是一个简单的问题,但我们正在讨论使用这个 snipper 是否更好:

if %w(production staging).include?(Rails.env)

对比

if ["production","staging"].include?(Rails.env)

我们只想了解哪种方式是最高效的方式,而忽略了 Ruby 的语法建议。从我在网上可以看到的情况来看,%w 文字似乎是提供的空白字符串上 string.split 的简写。

但实际上哪个最快?

p.s:如果能提供答案来源,我们将不胜感激。

最佳答案

这是 %w%W 所做的,直接取自 parse.y(有遗漏):

case '%':
[snip]
switch (c) {
[snip]
case 'W':
lex_strterm = NEW_STRTERM(str_dword, term, paren);
do {c = nextc();} while (ISSPACE(c));
pushback(c);
return tWORDS_BEG;

case 'w':
lex_strterm = NEW_STRTERM(str_sword, term, paren);
do {c = nextc();} while (ISSPACE(c));
pushback(c);
return tQWORDS_BEG;

考虑到它是在解析器级别实现的,我不会太担心性能。

关于 ruby : %w performance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11186797/

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