Language analys är ett grundläggande steg i att lära något nytt programmeringsspråk - även en förhållandevis " enkel " språk som Ruby . En närmare titt hjälper dig se skillnaderna mellan programmets delar som i slutändan avgör hur en Ruby skript beter sig och senare , hur man använder skriptet korrekt . Medan den " Inkludera " och " Kräv " uttalanden kan verka ganska lika vid första anblicken , avslöjar en närmare titt viktiga skillnader . De två kan lätt förväxlas , dock, särskilt om du är bekant med programmeringsspråk som definierar dessa begrepp i olika termer . Identifiering
" Kräv " ger Ruby en instruktion att importera klass eller modul filen från modulen bibliotekskatalog så att du kan referera till och använda koden i modulen i ditt program . " Inkludera " är ett exempel på en Ruby preprocessor direktiv kallas " mixin . " I det , du refererar till en modul och genom att göra så du integrera modulen och alla eller några av sina åtgärder i din klass definition . Använda en mixin - i det här fallet , en " inkludera " - tillåter programmeraren att öka eller utöka funktionerna i en klass
Syntax
Syntaxen struktur omfattar . och kräver är liknande , men det attribut du lägga till alla är olika . Syntaxen struktur en include lägger modulen namnet attributet till " inkluderar " direktivet och omsluter attributet inom citattecken , till exempel : Inkludera i ett krav uttalande , du lägger filnamnet attribut utan att använda citattecken " modulename . " . Till exempel : kräver filnamn
Plats
kräver uttalande är en en - line fristående uttalande som oftast in strax efter programmets inledande sökvägen fil . direktivet . Till exempel , om du skriver och sparar en metod som kallas " Vecka " till biblioteket och vill använda metoden i ett annat program , tillsätt Kräv uttalande :
# /usr /bin /rubyrequire " Vecka " !
även mindre vanliga , kan du också placera ett krav uttalande i ett "om " villkorat uttalande . En include är alltid en del av en större klass definition . Beroende på hur du tänker använda den metoden , kan du inkludera variabler från den metod för att definiera klassen ännu längre :
klass Decadeinclude Weekno_of_yrs = 10def no_of_monthsputs veckan :: FIRST_DAYnumber = 10 * 12puts numberend
Överväganden
Skillnader mellan " är" och " Kräv " kan hjälpa dig att skapa en robust och väl fungerande Ruby skript . Förstå dock att samtidigt som du använder ofta de två tillsammans , är detta inte alltid fallet . När du skapar en ny klass och har för avsikt att integrera metoder från en modul sparas till modulen biblioteket i den nya klassen , måste du använda båda . Om du skapar och använder metoden inom samma program , behöver du bara " inkludera " det i din klass definition .