![]() |
1
15
这非常容易测试:
现在只需尝试
因此,我们可以得出这样的结论:如果缓存键已经存在,则不会发生分配。 以下是红宝石的提取物 shows 这就是 按设计 并且不应依赖于Ruby实现:
在同一个文件中,有一个类似的规范
尽管Rubyspec仍在进行中,但很明显,主要的Ruby实现项目打算遵守它。 |
![]() |
2
7
扩展到
或者,在一般情况下
(我正在使用)
扩展到:
所以,根据规范,
所以,很明显,要么规范是错误的,要么当前发布的五个实现都是错误的。由于规范的目的是描述现有实现的行为,很明显规范一定是错误的。 一般来说,作为第一近似值
扩展到
但是,有各种各样的转租,例如,无论是否
另请参阅此问题的其他一些实例,这些实例在StackOverflow(例如, this one )而且,这个问题在Ruby Talk邮件列表中讨论了很多次,现在有 discussion threads 其唯一目的是总结其他讨论主题。(尽管请注意,该列表还远远不够完整。) |
![]() |
3
1
下面是另一个与其他答案稍有不同的演示,它明确地显示了散列何时被写入:
通过比较:
|
![]() |
4
0
等于
(相当于
换句话说:是的,
|
![]() |
5
0
[我删除了比其他人更不准确的例子。我把答案留给了一些人可能感兴趣的基准点。我的观点是: 所以基本上
是一样的
我更赞成第一种语法,但接下来由您决定,因为在这种情况下,可读性有点降低。 我很好奇,所以这里有一些基准:
|
![]() |
Stilian · 存储库设置中没有Github页面部分 3 年前 |
![]() |
Kellen · 查看$卷展栏功能列表 3 年前 |
![]() |
Akshit Thakur Ak · 我怎样才能把铁轨停下来? 3 年前 |
![]() |
johncssjs · 将数组转换为每个元素的嵌套哈希 3 年前 |
![]() |
solidsnake99 · Rails db:如何绕过验证 3 年前 |