Terug naar blog

Een overzicht van datatypes in Ruby

Een overzicht van datatypes in Ruby

Ruby is een bekende programmeertaal. Het is gericht op het verbeteren van eenvoud en productiviteit. Het is ook een volledig objectgeoriënteerde programmeertaal. Daarnaast heeft Ruby een elegante syntaxis die natuurlijk leest en gemakkelijk te schrijven is.

Bij elk programmeren is het beheren van verschillende datatypes vereist. Een datatype beschrijft een specifieke klasse van gegevens. Het vertelt de machine hoe deze met de gegevens in het programma moet omgaan. Datatypes zijn cruciaal om te bepalen wat er met de gegevens kan worden gedaan (inclusief de bewerkingen die kunnen worden uitgevoerd). In deze handleiding zullen we dieper ingaan op de datatypes die beschikbaar zijn in Ruby. We zullen ook dynamisch typen verkennen. Met deze functie kan Ruby automatisch het datatype van een variabele bepalen zonder deze expliciet te declareren. Laten we beginnen!

Vereisten

Om de stappen die in deze handleiding worden gedemonstreerd te oefenen en te implementeren, heeft u de volgende componenten nodig:

Datatypes in Ruby

Ruby beschikt over alle gangbare datatypes die u in elke programmeertaal tegenkomt: integers, floats, strings, arrays, symbols, hashes, enz. Vervolgens geven we een overzicht van hoe u met de verschillende datatypes van Ruby kunt werken.

Step 1 – Integers

Net als bij wiskunde zijn integers in computerprogrammering hele getallen. De waarde kan positief, negatief of 0 zijn. Het waardebereik is als volgt:

Tijd om integers uit te proberen in Ruby. Het eerste voorbeeld is het afdrukken van een eenvoudige integer op het scherm:

Data Types in Ruby 1

Vervolgens gaan we werken met een integer-variabele. Hier bevat de variabele sample_int een integer-waarde (99) en de print-functie drukt de waarde van de variabele af op het scherm:

Data Types in Ruby 2

We kunnen ook rekenen met integers. Het volgende voorbeeld toont een eenvoudige optelling van twee integer-getallen:

Wanneer we met grote getallen werken, gebruiken we vaak komma's (,) om het makkelijker leesbaar te maken. Bijvoorbeeld, één miljoen (1000000) wordt geschreven als 1,000,000 voor een betere leesbaarheid. Hoewel het gebruik van komma's verboden is, staat Ruby het gebruik van underscores ( _) toe als scheidingsteken. Bekijk het volgende voorbeeld:

Data Types in Ruby 3

Het gebruik van underscores verbetert de leesbaarheid van de code, vooral bij het werken met grote integer-waarden.

Step 2 – Floating-Point Numbers

Een floating-point getal (of kortweg float) vertegenwoordigt een reëel getal. Net als in de wiskundige definitie kunnen reële getallen rationeel of irrationeel zijn. In Ruby is een float in feite een getal dat een decimaal punt bevat.

Laten we proberen een float-waarde op het scherm af te drukken:

Het volgende voorbeeld toont het declareren van een float-variabele:

We kunnen ook verschillende wiskundige bewerkingen uitvoeren op de float-waarden en variabelen. Het volgende voorbeeld toont een eenvoudige optelling van twee float-getallen:

Wat als we een float en een integer optellen? De resulterende waarde is een float. In het volgende voorbeeld wordt 55.0, hoewel het een heel getal is, behandeld als een float:

Step 3 – Boolean

Booleans vertegenwoordigen de waarheidswaarden van de logische tak van de wiskunde. In Ruby worden Boolean-datatypes vertegenwoordigd door twee waarden: true en false:

  • Groter dan

    • 100 > 99: true

    • 99 > 100: false

  • Kleiner dan

    • 500 < 999: true

    • 999 < 500: false

  • Gelijk aan

    • 10 == 10: true

    • 9 == 99: false

Net als bij getallen kunnen we ook een true of false waarde in een variabele. Het volgende voorbeeld demonstreert deze functionaliteit:

Step 4 – Strings

In programmeren wordt een string weergegeven als een reeks tekens (letters, cijfers en symbolen). In Ruby staan strings tussen enkele aanhalingstekens ( ') of dubbele aanhalingstekens ( "). We hebben het gebruik van strings in Ruby al in detail behandeld, dus dit zal een kort gedeelte zijn.

The following example is a basic hello world program in Ruby:

We kunnen strings ook in variabelen opslaan. Het volgende voorbeeld bevat ook string-concatenatie:

Data Types in Ruby 4

Step 5 – Arrays

Een array is een datastructuur die een verzameling elementen van hetzelfde datatype met een vaste grootte kan opslaan. Het kan ook worden geconceptualiseerd als een verzameling variabelen van hetzelfde datatype. Het is een van de meest fundamentele datastructuren in de meeste moderne programmeertalen.

In Ruby wordt een array als volgt gedefinieerd:

Het is mogelijk om een array te maken van alle andere datatypes die we tot nu toe hebben besproken (integer, float en strings). Hier zijn enkele voorbeelden:

  • Integer: [-5, 0, 5]

  • Float: [-9.99, -6.99, -3.99, 0, 3.99]

  • String: [“the”, “quick”, “brown”, “fox”]

Het volgende voorbeeld implementeert al deze typen arrays:

Data Types in Ruby 5

Merk op dat wanneer de print-functie een array tegenkomt, deze de hele array op het scherm afdrukt. Voor meer gemak zul je arrays vaak als variabelen tegenkomen. Laten we de code bijwerken:

Data Types in Ruby 6

Data Types in Ruby 7

Nu kunnen we werken met individuele elementen van de arrays:

Data Types in Ruby 7

Merk op dat in Ruby de indexwaarde van arrays begint met 0.

Voor het gemak worden arrays in Ruby geleverd met de .first en de .last methoden die het eerste en het laatste element afdrukken:

Data Types in Ruby 8

In Ruby hebben arrays nog een interessante eigenschap. Ze kunnen tegelijkertijd verschillende soorten gegevens bevatten. Je kunt bijvoorbeeld strings, symbolen en zelfs andere arrays opslaan:

Data Types in Ruby 9

Stap 6 – Symbolen

In Ruby is een symbool een speciaal datatype dat fungeert als een label of een identificator. Symbolen zijn onveranderlijk, wat betekent dat ze niet gewijzigd kunnen worden. Symbolen zien eruit alsof je variabelen declareert zonder enige waarde.

Hier is een voorbeeld van een symbool:

Over het algemeen worden symbolen gebruikt om iets belangrijks te identificeren. Voor andere situaties zijn strings echter meer dan voldoende.

Omdat Ruby een objectgeoriënteerde taal is, behandelt het alles als een object (inclusief strings) met een unieke geheugenlocatie, zelfs als de strings identiek zijn. Wanneer je echter naar een symbool verwijst, is dit overal in het programma hetzelfde object, met dezelfde geheugenlocatie.

Stap 7 – Hashes

Een hash is een woordenboekachtige verzameling van sleutels en waarden. Vaak worden hashes gebruikt om gerelateerde gegevens op te slaan, bijvoorbeeld informatie over een gebruiker.

Hier is een snel voorbeeld van een hash. We hebben een hash gemaakt user_info die de gebruikersnaam en het wachtwoord van een gebruiker bevat:

Data Types in Ruby hashing in ruby

Om de waarden van een sleutel-waardepaar op te halen, moeten we de sleutel gebruiken. Het volgende voorbeeld laat dit proces zien:

Data Types in Ruby retrieve value using key

Ruby maakt het ook mogelijk om een hash te definiëren met een iets andere syntaxis ( : in plaats van =>):

Data Types in Ruby retrieving value using key

Deze syntaxisstructuur is vergelijkbaar met de syntaxis die in andere talen wordt gebruikt, bijvoorbeeld JavaScript. In deze syntaxisstructuur worden de sleutels gedefinieerd als symbolen. Daarom gebruiken we, in plaats van "username", het volgende: username om toegang te krijgen tot de waarde.

Dynamische typering

Je hebt misschien al gemerkt dat we bij het declareren van een variabele niet expliciet een datatype hoeven toe te wijzen. In plaats daarvan bepaalt de waarde van de variabele het datatype. Ruby maakt gebruik van dynamische typering waarbij typecontrole tijdens runtime wordt uitgevoerd. Daarentegen worden de datatypen tijdens de compilatie bepaald in statisch getypeerde programmeertalen (bijvoorbeeld C/C++).

In het volgende voorbeeld zijn alle waarden die aan de variabele dyn_var zijn toegewezen, geldig:

In dynamisch getypeerde talen staat het ons vrij om een bestaande variabele opnieuw te gebruiken om verschillende datatypen op te slaan. Hier is het vorige voorbeeld bijgewerkt om dit fenomeen te demonstreren:

dynamically typed variables

Zoals dit voorbeeld laat zien, verandert het datatype van dyn_var direct bij elke toewijzing van een nieuwe waarde. Dit is handig bij het converteren van het ene datatype naar het andere. Het volgende voorbeeld demonstreert dit:

get input and cast

Hier,

  • Omdat toetsenbordinvoer strings zijn, is length in eerste instantie een string.

  • Omdat onze gewenste waarde een float is, converteren we de stringwaarde naar een float met behulp van de to_f methode.

  • Vanwege de verandering van waarde krijgt length het datatype float toegewezen. Dit is wat we zien wanneer we de waarde op het scherm afdrukken.

Wat zou er gebeuren als we twee verschillende datatypen met elkaar proberen te mengen? Ruby zal een foutmelding geven. Neem een kijkje:

mixing two datatypes

Identificatie van datatypen

In Ruby wordt alles behandeld als een object. Elk object in Ruby is voorzien van de methode class. Wanneer deze methode wordt aangeroepen, geeft deze aan wat het datatype van de bron is. Hier zijn enkele voorbeelden van het gebruik van de class methode:

get classes name

Een andere manier om het datatype te achterhalen is door gebruik te maken van de kind_of?-methode. Deze controleert het datatype van het object met het gevraagde datatype en retourneert een Booleaanse waarde. Bekijk het in het volgende voorbeeld:

check datatype

Op vergelijkbare wijze is er een andere methode is_a? die het datatype vergelijkt en een Booleaanse waarde retourneert. Het enige verschil is het label van de methode. Het kan echter de voorkeur hebben omdat het voor ontwikkelaars iets makkelijker te lezen en te begrijpen is. Werk het vorige voorbeeld bij met is_a?:

check datatype

Tot slot

Werken met een programmeertaal vereist een goed begrip van de datatypen die deze ondersteunt. In deze gids hebben we de meest voorkomende datatypen verkend die in Ruby-programmering worden gebruikt. We hebben integers, floats, strings, symbols, Booleans en hashes besproken en gedemonstreerd (met voorbeelden).

Bekijk meer handleidingen op onze blog die je helpen Ruby te ontdekken:

Veel plezier met programmeren!

author

Preslav Dobrev

Auteur · CloudSigma

Preslav Dobrev is een creatief ontwerper bij CloudSigma, met de nadruk op een consistente bedrijfsidentiteit door middel van traditionele en innovatieve marketingkanalen. Hij is bedreven in het samenvoegen van artistieke visie met strategische marketing om impactvolle merkverhalen te creëren.

Reacties

Nog geen reacties. Wees de eerste.