Der binäre Linksverschiebungsoperator in Ruby
-
der binäre Linksverschiebungsoperator (
<<
) in Ruby -
Verwenden Sie den Operator
<<
für ein Array in Ruby -
Verwenden Sie den Operator
<<
, um Klassenmethoden in Ruby zu definieren -
Verwenden Sie den Operator
<<
inheredoc
Dieser Artikel stellt kurz vor, was <<
in Ruby ist und wo es verwendet wird.
der binäre Linksverschiebungsoperator (<<
) in Ruby
Der Operator <<
ist eine String-Methode. Es verkettet zwei Zeichenfolgen, und die ursprüngliche Zeichenfolge wird direkt geändert.
Codebeispiel:
my_string = 'Hello.'
my_string << ' Nice to meet you!'
puts my_string
Ausgang:
Hello. Nice to meet you!
Verwenden Sie den Operator <<
für ein Array in Ruby
Die Methode <<
kann auf ein Array angewendet werden. Es fügt ein Objekt direkt an das Ende des ursprünglichen Arrays an.
Codebeispiel:
my_array = [1,2,3]
my_array << 5
puts my_array
Ausgang:
[1, 2, 3, 5]
Diese Methode ähnelt der Methode Array#push
. Beachten Sie, dass es jedes Argument akzeptieren kann, z. B. ein anderes Array oder einen Hash.
Codebeispiel:
my_array << { a: 1 }
my_array << [6,7,8]
puts my_array
Ausgang:
[1, 2, 3, 5, {:a=>1}, [6, 7, 8]]
Verwenden Sie den Operator <<
, um Klassenmethoden in Ruby zu definieren
Eine weitere beliebte Verwendung von <<
ist das Definieren von Klassenmethoden beim Erstellen einer Ruby-Klasse.
Codebeispiel:
class MyClass
class << self
def class_method
'inside class method'
end
end
end
MyClass.class_method
Ausgang:
"inside class method"
Verwenden Sie den Operator <<
in heredoc
heredoc
ermöglicht es uns, einen großen Textblock zu schreiben. Die Syntax beginnt mit <<
, setzt sich mit dem Namen und Inhalt des Dokuments fort und endet mit dem Namen des Dokuments in einer separaten Zeile.
Beispiel:
<<MY_DOC
Lorem Ipsum
Donec sollicitudin molestie malesuada.
Proin eget tortor risus. Mauris blandit aliquet elit, eget tincidunt nibh pulvinar a.
MY_DOC
Ausgang:
"Lorem Ipsum\nDonec sollicitudin molestie malesuada.\nProin eget tortor risus. Mauris blandit aliquet elit, eget tincidunt nibh pulvinar a.\n"