Video: Tes och argument 2024
Det finns flera sätt att lägga till argument i R. Funktionen addPercent () runda varje procentsats till ett decimaltal, men du kan lägga till ett annat argument för att ange Antalet siffror den runda () -funktionen ska använda på samma sätt som möjligt för multarg argumentet. Om du har många argument som du vidarebefordrar till andra funktioner i kroppen, kan du ha en lång lista med argument.
R har en genial lösning för detta: punkterna (…) argumentet. Du kan se punkternas argument som en extra port i din lilla funktion. Genom den grinden släpper du ytterligare resurser (argument) omedelbart på rätt plats i produktionslinjen (kroppen) utan att behöva kontrollera allt vid huvudporten.
Du brukar använda punkternas argument genom att lägga till det i slutet av argumentlistan för din egen funktion och i slutet av argumenten för den funktion som du vill skicka argument till.
För att överföra något argument till funktionen round () i kroppen av addPercent, anpassar du koden för sistnämnden enligt följande:
addPercent <- funktion (x, mult = 100, …) {procent <- runda (x * mult, …) klistra in (procent, "%", sep = ")}
Nu kan du ange siffror argumentet för funktionen round () i addPercent () -samtalet så här:
Du behöver inte ange något argument om funktionen du passerar argumenten inte kräver. Du kan använda funktionen addPercent () som tidigare: >>> addPercent (nytt nummer) [1] "82%" "2%" "162%" "40%"
Observera att resultatet inte är detsamma Nummeren är avrundade till heltal och inte till den första decimalen.
Om du inte anger ett argument i stället för punkterna, är funktionen där Argumenten överförs för att använda sina egna standardvärden. Om du vill ange olika standardvärden måste du lägga till ett specifikt argument i argumentlistan istället för att använda punkterna.
addPercent <- funktion (x, mult = 100, siffror = 1) {procent <- runda (x * mult, siffror = siffror) klistra in (procent, "%", sep = ")}
Du behöver inte ge argumentet i argumentlistan samma namn som argumentet används av runda (). Du kan använda vilket namn du vill, så länge du placerar den i rätt position inom kroppen. Men om du kan använda namnen på argument som också används av inbyggda funktioner inom R, blir det lättare för människor att förstå vad argumentet gör utan att behöva titta på källkoden.
R kommer inte att klaga om du använder punkteringsargumentet i mer än en funktion inom kroppen, men innan du skickar argument till mer än en funktion i kroppen måste du vara säker på att det här vunnit " t orsaka några problem. R skickar
alla
extra argument tillvarje -funktion, och - om du har tur - klagar över den resulterande roten efteråt.