如何用A替换字符A和T和T.

Cod*_*316 0 ruby

我正在尝试创建一个程序,它将接受一个字符串并将其反转并用其免费字符替换它.

例如,如果输入字符串"ATTGCC",则该方法reverse_it应输出"GGCAAT".

"A"由"T"代替,"T"由"A"代替."C"代替"G","G"代替"C".

这是我的代码:

class DNA
  def initialize (nucleotide)
    @nucleotide = nucleotide
  end
  def reverse_it()
    puts nucleotide.reverse.gsub("C", "G").gsub("G", "C").gsub("A", "T").gsub("T", "A")
  end
  protected

  attr_reader :nucleotide
end
dna1 = DNA.new("ATTGCC")
dna1.reverse_it
Run Code Online (Sandbox Code Playgroud)

问题是gsub替换所有出现的字符,并sub仅替换字符串中第一个字符实例.有没有内置的方法来使这个程序工作?

eug*_*gen 5

你可能正在寻找tr,所以在你的方法中,而不是gsub像:

nucleotide.reverse.tr "ATCG", "TAGC"
Run Code Online (Sandbox Code Playgroud)