LEFT OUTER JOIN
输出为:[“ abaabbababbabaababbaaabbabbabaaaabbaaaababbaabababbabbaa”]
我已经厌倦了很多东西来卸下支架。我知道gsub可能会工作,但这看起来并不好。我也肯定有更好的方法。我没有运气就厌倦了使用.shift。也累了。 任何帮助将不胜感激。
答案 0 :(得分:4)
“问题”是您正在将数组转换为字符串。解压的结果是返回一个数组,并且您在其中调用to_s,所以您得到:
p "Michael".unpack("B*") # ["01001101011010010110001101101000011000010110010101101100"]
p "Michael".unpack("B*").to_s # "[\"01001101011010010110001101101000011000010110010101101100\"]"
您只需获得第一个也是唯一一个结果,而无需应用to_s,就可以进行所需的替换:
"Michael".unpack("B*").first.gsub("1", "b").to_s.gsub("0", "a")
# "abaabbababbabaababbaaabbabbabaaaabbaaaababbaabababbabbaa"
请注意,如果您只是将0替换为a,将1替换为b,则可以使用tr
:
p "Michael".unpack("B*").first.tr("01", "ab")
# "abaabbababbabaababbaaabbabbabaaaabbaaaababbaabababbabbaa"
结果相同。