a = "abcd"
b = a           # Zwei Referenzen auf gleichen String!
b[1] = "X"      # Manipulation des einen Strings
puts a          # Ergibt "aXcd"
b = String.new(a)  # Kopie des Strings, unterschiedliche Referenzen
b[1] = "#"      
puts a        # "aXcd"
puts b        # "a#cd"
 
puts "Na "*14+"Batman!"
 
puts "6*7=#{6*7}"
 
<code>
 
==== Zugriff und Manipulation ====
<code ruby>
a = "0123456"
puts a[2,3]  # "234"
puts a[2..4] # "234"
a[3..3] = "eingefügt"
puts a  # "012eingefügt456"
  • .split(“,”) # Array mit Strings zwischen den Trennzeichen (hier “;”)
  daten_aus_datei = Array.new(10){Array.new(10){rand(100)}}.map{|e| e.join(",")}.join("\n")
  puts daten_aus_datei
  a = daten_aus_datei.split("\n").map{|line| line.split(",").map{|e| e.to_i}}
  p a
  • .each_byte, .each_char, .each_codepoint # Loops über Bytes, Symbole (Strings) und Codes (Zahlen)
  • .chomp # Ein “\n” am Ende entfernen (falls es dort eines hat).
   p "abcd".chomp  # "abcd"
   p "abcd\n".chomp # "abcd"
   p "abcd\n\n".chomp # "abcd\n"

Und viele weitere, z.T. sehr nützliche Methoden: https://ruby-doc.org/core-2.2.0/String.html

  • efinf/blc2016/ruby/strings.txt
  • Last modified: 2016/09/25 15:26
  • by Ivo Blöchliger