gpt4 book ai didi

Ruby:使用 block 迭代器的方法链接如何工作?

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

下面的代码似乎有效。我不确定为什么……据我所知,.each_charselect 方法一样采用代码块。所以我是 Ruby 的新手,如果之前有人问过这个问题,我深表歉意。

代码如下:

def word_test(word)
vowels = ["a","e","i","o","u"]
word_vowels = Hash.new()

word_vowels = word.to_s.each_char.select {|char| vowels.include?(char)}
if word_vowels == word_vowels.sort
return true
end
end

word_test("hello")

如何将需要代码块的方法附加到方法上?

最佳答案

查看 String#each_char 的文档. “将 str 中的每个字符传递给给定的 block ,如果没有给出 block ,则返回一个枚举数。” “如果没有给出 block ,则返回一个枚举数”这句话经常出现在 Ruby 文档中——这就是使这种“相互堆叠的方法”有用的原因。实际上它被称为“方法链接”。

旁注:

if word_vowels == word_vowels.sort
return true
end

#better:

word_vowels == word_vowels.sort

关于Ruby:使用 block 迭代器的方法链接如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20669419/

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