【发布时间】:2019-04-20 16:42:24
【问题描述】:
在 Ruby 中,从数组中弹出特定元素的最简单方法是什么,类似于 .delete 方法
a.delete(element)
而不是弹出第一个/最后一个元素或使用 .slice?
为了更具体:例如,我可以这样做
case names.sample when "John", "Dave", "Sam"
a.delete(names.sample)
end
从a 中删除其中一个名称,当它作为来自names 的样本出现时
但是,我打算使用多个样本并使用a.delete()将一次删除所有元素,而不是像shuffle!.pop产生的结果那样连续弹出元素,因此名称不能再在同名被选为name.sample后,从a中选为样本
我想知道在 Ruby 中连续弹出这些元素的最简单方法是什么,或者在这种情况下是否有可能。
【问题讨论】:
-
不知道我明白你在问什么。你知道 .pop 方法存在于 ruby 中吗?
a.pop(index) -
对不起,我知道措辞可能令人困惑。我的意思是,如果有一种方法可以实现与使用 `a.pop(element)` 相同的结果,根据我的研究,除非用于指示弹出多少元素,否则这似乎不是一件事。而 `a.delete(element)` 可用于运行类似 'a.delete(name.sample)' 的内容,作为“if”语句的一部分,如果这有意义的话。
-
我不明白你的问题,我认为我并不孤单。应该不难说它是完整和明确的,但如果你有困难,请至少包括一些例子。确保为每个示例显示预期或期望的结果,并确保所有输入和输出都是有效的 Ruby 对象。更一般地说,当要求澄清问题时,请编辑您的答案,而不是尝试在 cmets 中详细说明(并非所有读者都能看到)。
-
感谢您的建议。正如您可能会说的那样,我是该网站的新手。在回复评论后,我确实在原始问题中进行了编辑并包含说明和示例,因此现在应该会显示出来。
标签: ruby