Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查字符串中存在哪些字符(Ruby)_Ruby_String - Fatal编程技术网

检查字符串中存在哪些字符(Ruby)

检查字符串中存在哪些字符(Ruby),ruby,string,Ruby,String,我试图创建一个函数来检测字符串中存在哪些字符。然后,该函数返回一个26个字符长的字符串。根据是否找到该字符,该字符串中字符的位置将有1或0。因此,如果找到a B和a Z,函数将返回 01000000000000000001 这就是我目前所拥有的 def convert(str) alpha = ("a".."z").to_a.join alpha.each_char do |i| num = 0 (str.include? i) ? (alpha[

我试图创建一个函数来检测字符串中存在哪些字符。然后,该函数返回一个26个字符长的字符串。根据是否找到该字符,该字符串中字符的位置将有1或0。因此,如果找到a B和a Z,函数将返回

01000000000000000001

这就是我目前所拥有的

def convert(str)
    alpha = ("a".."z").to_a.join
    alpha.each_char do |i|
        num = 0
        (str.include? i) ? (alpha[num] = 1) : (alpha[num] = 0)
        num =+ 1
    end
    print ans
end
convert("a 345 % b ^    xxz")
但是,我在第5行中不断遇到一个错误:

没有将Fixnum隐式转换为字符串(TypeError)


我不知道该怎么解决这个问题。有什么建议吗

不能将数字分配到字符串中。将该行上的
1
0
替换为
“1”
“0”


另外,我想你的意思是
num+=1
,而不是
num=+1

您可以通过使用和来防止错误:


天哪我是个白痴。一天的编码太多了。;)谢谢@你不是白痴。你是一个犯错误的人!哈哈,是的。谢谢你的帮助:)
def convert(str)
  ('a'..'z').map { |c| str.include?(c) ? 1 : 0 }.join
end

convert("a 345 % b ^    xxz")
#=> "11000000000000000000000101"