问题标签 [refinements]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
255 浏览

ruby - 包裹块以使用细化

鉴于以下改进:

我想使用我的改进实现一个模块来执行块:

现在我应该可以像这样使用它了:

哪个不起作用:-(

我一直在玩块绑定、yield、context、singleton_class ......但我仍然无法让它工作。我该怎么做?

0 投票
1 回答
1108 浏览

ruby-on-rails - 使用 RSpec 改进的测试类

假设我已经精炼了

我在课堂演讲中使用它:

我已经在 RSpec 中编写了改进测试,现在我正在测试Speech class

但我明白了RSpec::Mocks::MockExpectationError: "ąńńóyińg" does not implement: remove_latin_letter

我不认为嘲笑它是一个好的解决方案(但我可能错了!在这里嘲笑解决方案吗?)

所以我尝试了

let(:text) { described_class::String.new("ąńńóyińg") } 但结果是一样的。

我不想using RefinedString在我的 RSpec 中显式调用(它应该自己解决,对吧?)

如何让 RSpec 了解我的改进方法?

0 投票
1 回答
188 浏览

ruby-on-rails - Ruby 改进和钩子

我正在尝试使用 ruby​​ 改进来应用 rails hooks。

我想避免猴子修补。当猴子修补它会这样工作

通过执行以下操作,我已经能够拥有类方法:

但我不能运行钩子。我尝试使用self.used(klass),但似乎无法获得恰到好处的语法。

欢迎任何帮助。

谢谢。

0 投票
2 回答
117 浏览

ruby - 为什么 Ruby 改进只修改类而不修改模块?

关于改进的Ruby 文档状态

改进只修改类,而不是模块,所以参数必须是一个类。

为什么是这样?

可以对模块进行猴子补丁:

我确信这不是一个好主意,但如果你可以限制这样一个猴子补丁的范围,它可能不会那么糟糕。那你为什么不能呢?

0 投票
1 回答
672 浏览

ruby - 细化中的“超级”如何调用被覆盖的方法?

我的印象是细化超出了 Ruby 中通常的继承方案。覆盖细化中的方法替换了使用细化的所有代码的原始方法。

但是后来,我尝试了这个实验super,似乎被覆盖的方法被调用了:

上面的代码输出:

我的问题是,怎么做?细化是否以某种方式插入到类层次结构中?

0 投票
3 回答
289 浏览

ruby - 使用 instance_eval 进行 Ruby 改进

我想对 DSL 进行一些改进。我可以使用此示例进行改进:

这会打印出“数组!” 正好。但是一旦我介绍了instance_eval,方法就找不到了:

我得到了undefined method[1]:Array (NoMethodError)`的发言权

有没有办法在 instance_eval 中进行改进?

0 投票
2 回答
617 浏览

endeca - 当 ref 应用程序中没有可用的细化时,endeca 返回零会导致细化?

我正在使用 Endeca 3.1.2 汇编程序 API。当我点击 Endeca 查询时,它给了我一些包含零计数和一些正计数的改进。

例子:

就像我得到的这个结果。当我在 jspref 应用程序中点击相同的查询时,我没有得到任何包含零计数的细化。

我的期望是我不想在可用的细化上得到零计数细化。

请帮助我摆脱困境。

0 投票
1 回答
152 浏览

search - Google 自定义搜索:某些优化的结果为零

我已经为我的网站设置了一个谷歌自定义搜索引擎,它运行得非常好。我还为网站中的不同类别设置了改进。例如杯子、碟子、盘子

当我使用 api 或搜索框进行搜索时,对于“中国杯”,谷歌返回了良好的结果,以及所有、杯子、碟子和盘子的细化标签。

但是,单击飞碟或盘子细化选项卡会返回零结果。如何防止谷歌返回优化选项卡,该选项卡将为该搜索产生零结果?

PS:即使我将最大顶部细化调整为 2,谷歌也会返回“所有,杯子,碟子”作为细化。飞碟细化仍将产生零结果。

0 投票
1 回答
1200 浏览

ruby - 当我在 IRB 中使用细化时,为什么我得到“main.using is allowed at only at toplevel”?

我尝试在 IRB(v0.9.6,Ruby 2.3.0)中使用 Refinement:

这基本上是文档中的确切设置(导致相同的错误)。

什么地方出了错?我该如何解决?

0 投票
2 回答
202 浏览

ruby - 为什么 to_proc 在 Ruby 改进中不起作用?

似乎to_proc不适用于改进中定义的方法:

这是预期的行为吗?有解决方法吗?