Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
YouTube Security VideosGoogle Chrome: Unfinished Projects: Solange’s Public Sculpture(21.09.2026 um 17:02 Uhr)
Windows Tipps & SecurityBlurry or pixelated video in Microsoft Teams(21.09.2026 um 14:34 Uhr)
Sicherheitslücken (CVE)USN-8791-1: Ghostscript vulnerability(21.09.2026 um 14:51 Uhr)
Sicherheitslücken (CVE)USN-8792-1: Memcached vulnerability(21.09.2026 um 15:02 Uhr)
Sichere ProgrammierungI stopped rewriting the same Electron boilerplate — so I packaged it(21.09.2026 um 17:28 Uhr)
YouTube Security VideosGoogle Chrome: Unfinished Projects: Solange’s Public Sculpture(21.09.2026 um 17:02 Uhr)
Windows Tipps & SecurityBlurry or pixelated video in Microsoft Teams(21.09.2026 um 14:34 Uhr)
Sicherheitslücken (CVE)USN-8791-1: Ghostscript vulnerability(21.09.2026 um 14:51 Uhr)
Sicherheitslücken (CVE)USN-8792-1: Memcached vulnerability(21.09.2026 um 15:02 Uhr)
Sichere ProgrammierungI stopped rewriting the same Electron boilerplate — so I packaged it(21.09.2026 um 17:28 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

Ruby Data Class: Syntax

What is Ruby's Data class? The Data class was introduced to Ruby in Ruby 3.2, to: 'define simple classes for value-alike' store immutable atomic values Create the blueprint (instance of Data class) We call Data.define and…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!




What is Ruby's Data class?



The Data class was introduced to Ruby in Ruby 3.2, to:




  • 'define simple classes for value-alike'

  • store immutable atomic values






Create the blueprint (instance of Data class)



We call Data.define and pass keyword arguments.




Book = Data.define(:title, :author, :year)






We can define methods as well if we pass it a block.




Book = Data.define(:title, :author, :year) do
SUMMARY = '%<title>s was written by %<author>s in %<year>i.'

def to_s
SUMMARY % {title:, author:, year:}
end
end









hobbit = Book.new("The Hobbit", "J.R.R. Tolkien", 1937)
puts hobbit
# => nil
'The Hobbit was written by J.R.R. Tolkien in 1937.'









Building from the blueprint




  • Call .new or use [] notation

  • Use keyword or positional arguments






.new + keyword arguments






hobbit = Book.new(title: "The Hobbit", author: "J. R. R. Tolkien", year: 1937)
# => <data Book title="The Hobbit", author="J. R. R. Tolkien", year=1937>

hobbit.author
# => "J. R. R. Tolkien"

hobbit.year
# => 1937

hobbit.title
# => "The Hobbit"









Bracket Notation + Positional arguments






Location = Data.define(:latitude, :longitude)
# => Location






We can use positional arguments but need to take care with the order.




philadelphia = Location[39.9526, -75.1652]
# => #<data Location latitude=39.9526, longitude=-75.1652>

philadelphia.latitude
# => 39.9526

philadelphia = Location[-75.1652, 39.9526]
# => #<data Location latitude=-75.1652, longitude=39.9526>

philadelphia.latitude
# => -75.1652









Bracket Notation + Keyword Arguments



Note that with keyword arguments, we have flexibility in the order we pass arguments.




philadelphia = Location[latitude: 39.9526, longitude:-75.1652]
# => #<data Location latitude=39.9526, longitude=-75.1652>

philadelphia.latitude
# => 39.9526









philadelphia = Location[longitude:-75.1652, latitude: 39.9526]
# => #<data Location latitude=39.9526, longitude=-75.1652>

philadelphia.latitude
# => 39.9526












Further Reading



Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Ruby Data Class: Syntax

Thematisch verwandte Begriffe: Ruby, Data, Class, Syntax · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-94393 | When a user creates or edits a report inside an event, MISP can identify…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick