加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

字数(ruby)

发布时间:2020-12-17 01:42:42 所属栏目:百科 来源:网络整理
导读:CoderByte提供了以下挑战:“使用 Ruby语言,使用函数WordCount(str)获取传递的str字符串参数,并返回字符串包含的单词数量(即”Never eat shredded wheat“将返回4).将由单个空格分隔.“ 我解决了它,但有一个更简单的解决方案(不使用正则表达式或.length以外
CoderByte提供了以下挑战:“使用 Ruby语言,使用函数WordCount(str)获取传递的str字符串参数,并返回字符串包含的单词数量(即”Never eat shredded wheat“将返回4).将由单个空格分隔.“

我解决了它,但有一个更简单的解决方案(不使用正则表达式或.length以外的方法)?我在for循环内部的for循环中有一个条件内部条件.我还在第一个for循环的内部和外部将当前变量设置为false.

这些糟糕的行为吗?有更好的解决方案吗?

def WordCount(string)

    alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    counter = 0
    current = false

    for i in 0...string.length
        prev = current
        current = false
        for j in 0...alphabet.length
            if string[i] == alphabet[j]
                current = true
                if prev == false
                    counter += 1
                end
            end
        end
    end

    return counter

end

WordCount(STDIN.gets)

解决方法

它确实涉及正则表达式,但它是正确的解决方案:

"Hi there 334".scan(/[[:alpha:]]+/).count # => 2

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读