Update of exercises
parent
fe2c1c6eb6
commit
58bc23516c
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Bedingte Zuweisung
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
a = nil
|
||||
a ||= 'leer'
|
||||
```
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Case
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
|
||||
|
||||
```ruby
|
||||
note = 3
|
||||
text = case note
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: String-Formatierung
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
|
||||
|
||||
```ruby
|
||||
name = "Peter"
|
||||
gewicht = 90
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Parallele Zuweisung
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
|
||||
|
||||
```ruby
|
||||
def swap(a, b)
|
||||
[ b, a ]
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Ranges
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
|
||||
|
||||
```ruby
|
||||
(1..20).each { |e| puts e }
|
||||
```
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Splat
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
|
||||
|
||||
```ruby
|
||||
ort = [ 49.468408, 8.482504, \
|
||||
'Hochschule Mannheim', \
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Symbole
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
|
||||
|
||||
```ruby
|
||||
def ansage(ursache)
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Zugriffsmethoden
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
|
||||
|
||||
```ruby
|
||||
class Professor
|
||||
attr_reader :name
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Klasse deklarieren
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
class Ticket
|
||||
|
||||
attr_reader :spiel
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Default Parameter
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
def produkt(a, b, c = 1, d = 1)
|
||||
a * b * c * d
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Vererbung
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
class Mensch
|
||||
attr_reader :name, :alte
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Keyword-Parameter
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
def greet(vorname:, nachname:)
|
||||
puts "Hello #{vorname} #{nachname}"
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Mixin benutzen
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
class Squares
|
||||
include Enumerable
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Modul schreiben
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
module Chemie
|
||||
N_a = 6.02214179E23
|
||||
M_v = 22.413996
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Monkey Patch
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
class String
|
||||
def to_leet
|
||||
self.tr('aeiou', '43107')
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Geschachtelte Methoden
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
class Bomb
|
||||
def self.activate
|
||||
def explode
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Vararg-Methoden
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
def produkt(*p)
|
||||
p.reduce { |s, e| s *= e }
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Arrays
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
stapel = []
|
||||
|
||||
for farbe in %w{P X H K}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Callback mit Block
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
def rechner(a, b)
|
||||
ergebnis = yield a, b
|
||||
ergebnis * 2
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Callback mit Proc
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
def rechner(a, b, lam = nil, &block)
|
||||
lam ||= block
|
||||
ergebnis = lam.call(a, b)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Closure
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
def create_counter
|
||||
n = 0 # closure
|
||||
Proc.new { n += 1 }
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Hashes und Blöcke
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
class Cache
|
||||
def initialize(&callback)
|
||||
@data = {}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Hashes
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
|
||||
|
||||
```ruby
|
||||
worte = %w{ Bier Schnaps Bier Vodka Rum Baileys Rum Bier Vodka Bier Hugo }
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Map
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
|
||||
|
||||
```ruby
|
||||
def leeter(array)
|
||||
array.map do |e|
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Map und Reduce
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>
|
||||
|
||||
|
||||
```ruby
|
||||
def char_count(array)
|
||||
counts = array.map { |e| e.length }
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Ausnahmen
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
def division(a, b)
|
||||
raise ArgumentError unless (a.is_a? Numeric) && (b.is_a? Numeric)
|
||||
raise ZeroDivisionError if b == 0
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Klasse Dir und IO
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
def print(f)
|
||||
n = 0
|
||||
puts f, "\n"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# Lösung: Iteratoren auf Zahlen
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
10.downto(0) { |n| puts n }
|
||||
```
|
|
@ -1,5 +1,6 @@
|
|||
# Lösung: Quine
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
p = "p = \"%s\"; puts p %% [ p.gsub(/[\"\\\\]/, '\"' => '\\\"', '\\\\' => '\\\\\\\\') ]"; puts p % [ p.gsub(/["\\]/, '"' => '\\"', '\\' => '\\\\') ]
|
||||
```
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Reguläre Ausdrücke: Match
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
def tag?(text)
|
||||
!!(/^<.*?>$/ =~ text)
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Reguläre Ausdrücke: Matching
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
def reverser(s)
|
||||
/(.*) (.*)/ =~ s
|
||||
"#{$2} #{$1}"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Klassen per Reflection analysieren
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
def analyze(clazz)
|
||||
puts "Name: #{clazz.to_s}"
|
||||
puts "Elternklasse: #{clazz.superclass}"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Methoden einer Klasse dynamisch erzeugen
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
def to_leet(s)
|
||||
s.tr('aeiou', '43107')
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Klasse dynamisch erzeugen
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
def create_class(super_class)
|
||||
Class.new(super_class) do
|
||||
def who_am_i
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Methoden dynamisch aufrufen
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
def crazy_caller(obj)
|
||||
# Methoden suchen
|
||||
obj.methods.each do |m|
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Eigenclass einer Klasse
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
class Numeric
|
||||
class << self
|
||||
def to_binary(n)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Eigenclass eines Objektes
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
s1 = "Hallo"
|
||||
s2 = "Welt"
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Macro
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
module Javanator
|
||||
def Javanator::javafy
|
||||
def toString; to_s; end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Metaprogrammierung: Die kleine Petze
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
class Snitch
|
||||
def method_missing(name, *args, **keywords, &block)
|
||||
puts "Aufruf von Methode '#{name}'"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Singleton Methoden
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
s1 = "Hallo"
|
||||
s2 = "Welt"
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Lösung: Struct
|
||||
|
||||
<div style="border: 1px solid grey;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div>```ruby
|
||||
|
||||
```ruby
|
||||
# Klasse (sic!) über Struct erzeugen
|
||||
Studierender = Struct.new(:vorname, :nachname, :geboren, :matrikel, :fakultaet)
|
||||
|
||||
|
|
Loading…
Reference in New Issue