gpt4 book ai didi

ruby 中的 Java 流等效?

转载 作者:太空宇宙 更新时间:2023-11-03 16:59:35 24 4
gpt4 key购买 nike

我正在尝试将以下 Java selenium 代码转换为 Ruby selenium 代码

  List<String> items = myDriver.findElements(By.xpath("//tbody/tr[1]/td[1]")) //This returns an array
.stream().map(WebElement::getText) //Calls stream map
.collect(Collectors.toList());

我停留在将数组转换为流并使用 WebElement getText 将其映射并转换为列表的部分

这是我试过的

 items = driver.find_elements(:xpath, "//tbody/tr[1]/td[1]").map(&:text)

我似乎找不到流和 .collect 的 ruby​​ 等价物?我可以在这里做什么?

最佳答案

Java Stream 的等价物是 Enumerator .没有等同于 collect在 ruby 中。 Java's collect is a generalization of folding , Ruby有两个折叠操作:injecteach_with_object ,两者都是 Java 的 collect 的特例。相当于调用 stream() 来创建一个 Stream 是调用 each 而不用 block 来创建一个 Enumerator .

但是,如果您想要在 Ruby 中使用 collect 的完整通用性,则必须自己实现它。

关于ruby 中的 Java 流等效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38233794/

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