Inhaltsverzeichnis

Variablen

number = 10
price = 29.99
name = "Ruby"
is_valid = true
obj = {}
obj["a"] = 1
obj["b"] = 2
 
puts "Hello, World!"
print "Ruby is fun!"

if elseif else

x = 10
 
if x > 5
  puts "x ist größer als 5."
elsif x < 5
  puts "x ist kleiner als 5."
else
  puts "x ist gleich 5."
end

Schleifen

While

# while-Schleife
x = 1
 
while x <= 5
  puts x
  x += 1
end

For

# for-Schleife
for i in 1..5
  puts i
end

Do

fruits = ["Apple", "Banana", "Orange"]
 
fruits.each do |fruit|
  puts fruit
end
 
 
5.times do |index|
  puts "Iteration #{index + 1}"
end
 
// without do
fruits.each { |fruit| puts fruit }
5.times { |index| puts "Iteration #{index + 1}" }

Arrays

numbers = [1, 2, 3, 4, 5]
fruits = ["Apple", "Banana", "Orange"]
 
puts numbers[0]  # Ausgabe: 1
puts fruits[1]   # Ausgabe: Banana

Funktionen

def say_hello
  puts "Hello"
end
 
def say_hello_to(e = "Guest")
  puts "Hello, #{e}!"
end
 
# Aufruf der Methode mit Argument
say_hello_to("Alice")  # Ausgabe: Hello, Alice!
 
# Aufruf der Methode ohne Argument
say_hello_to  # Ausgabe: Hello, Guest!
sub greet {
    my ($name, $age) = @_;
    $name //= "Guest";
    $age //= 18;
    print "Hello, $name! You are $age years old.\n";
}
 
greet();          # Verwendet voreingestellte Werte
greet("John");    # Verwendet voreingestelltes Alter
greet("Jane", 25);  # Verwendet angegebene Werte

Klassen

# Definieren einer Klasse namens "Person"
class Person
  attr_accessor :name, :age
 
  def initialize(name, age)
    @name = name
    @age = age
  end
 
  def say_hello
    puts "Hello, #{@name}!"
  end
end
 
# Ein neues Objekt der Klasse "Person" erstellen
person = Person.new("Alice", 30)
 
# Verwendung der Methoden des Person-Objekts
puts person.name  # Ausgabe: Alice
puts person.age   # Ausgabe: 30
person.say_hello  # Ausgabe: Hello, Alice!