Språk analyse er en grunnleggende trinn i å lære noe nytt programmeringsspråk - selv en forholdsvis "enkel" språk som Ruby . En nærmere titt hjelper deg å se forskjellene mellom program elementer som til slutt avgjør hvordan et Ruby-skript oppfører seg og senere på , hvordan du bruker skriptet riktig . Mens " Inkluder " og " Krev " uttalelser kan virke ganske likt ved første øyekast, avslører en nærmere titt viktige forskjeller . De to kan lett forveksles , men spesielt hvis du er kjent med programmeringsspråk som definerer disse begrepene på ulike vilkår . Identifikasjon
" Krev " gir Ruby en instruks om å importere klasse eller modul fil fra modulen bibliotek -katalogen , slik at du kan referere til og bruke koden i modulen i programmet. " Inkluder " er et eksempel på en Ruby preprocessor direktiv kalt en " mixin . " I den referansen du en modul og dermed integrere du modulen og noen eller alle sine handlinger i din klasse definisjon. Ved hjelp av en mixin - i dette tilfellet en " include" - gjør at programmerer å øke eller utvide funksjonaliteten til en klasse
Syntax
syntaks strukturen inkludere. og krever er like, men det attributtet du føye til hver enkelt er forskjellig . Syntaksen strukturen i en inkluderer føyer modulnavnet attributt til " inkludere" direktiv og omslutter attributt i doble anførselstegn , for eksempel: inkludere i en require utsagn , du føyer filnavnet attributt uten å bruke anførselstegn " modulename . ». For eksempel : require filnavn
Sted
krever uttalelse er en en-linje frittstående uttalelse som oftest inn like etter programmets åpningen banen fil . direktiv . For eksempel , hvis du skriver og lagre en metode som kalles " Week" til biblioteket og ønsker å bruke metoden i et annet program , legge den nødvendige uttalelse:
# /usr /bin /rubyrequire " Week" !
Selv om mindre vanlig, kan du også plassere en require utsagn inne i et "hvis" betinget utsagn . Et inkluder er alltid en del av en større klasse definisjon. Avhengig av hvordan du har tenkt å bruke metoden , kan du inkludere variabler fra metode for å definere klassen enda lenger : en
klasse Decadeinclude Weekno_of_yrs = 10def no_of_monthsputs Week :: FIRST_DAYnumber = 10 * 12puts numberend
med Hensyn
forskjeller mellom " Inkluder " og " Krev " kan hjelpe deg å lage en robust og velfungerende Ruby-skript . Forstå imidlertid at mens du vil ofte bruke de to sammen , dette er ikke alltid tilfelle . Når du oppretter en ny klasse og har tenkt å innlemme metoder fra en modul lagres i modulen biblioteket i den nye klassen , må du bruke begge. Hvis du oppretter og bruker metoden innenfor det samme programmet , trenger du bare å " inkludere" det i klassen din definisjon.