У меня есть эта программа, которая в основном меняет строку и заменяет некоторые символы другими символами. Однако, когда я выполняю puts dna1, он дает это значение: DNA: 0x007fdb4214a918Почему Ruby дает странное значение?
Значение, которое оно должно дать, это ATTGCC.
Вот код:
class DNA
def initialize (nucleotide)
@nucleotide = nucleotide
end
def reverse_complement()
puts nucleotide.reverse.tr("ATCG", "TAGC")
end
protected
attr_reader :nucleotide
end
dna1 = DNA.new("ATTGCC")
puts dna1.reverse_complement
puts dna1
puts dna2 = dna1.reverse_complement
'puts' отпечатки' STDOUT' и возвращает 'nil' удалить путы, чтобы присвоить строку' dna2' также вы не 'инспектировать ', поэтому он по умолчанию указывает на' Object # inspect', о чем вы говорите. если вы определили 'def inspect; нуклеотид; end', то 'puts dna1' будет' puts' текущий 'нуклеотид' – engineersmnky