Gebruik F # om aan uw scriptbehoeften te voldoen

Normaal gesproken is er met talen zoals C # of Java nogal wat overhead bij het maken van een snel en smerig programma om kleine taken uit te voeren, zoals het bulksgewijs hernoemen van bestanden in een director, enz. Dit is de plek die wordt gevuld door scripttalen zoals Python , Perl en Ruby , maar wist je dat je F # -code ook in scriptstijl kunt schrijven?

Als u F # heeft geïnstalleerd, registreert het de extensie .fsx als F # -scriptbestanden. Vanuit Windows Verkenner kunt u het rechtstreeks uitvoeren door de contextmenu-optie “ Uitvoeren met F # Interactive ” te selecteren:

Door op deze manier een F # -scriptbestand uit te voeren, zou het bestand naar de consoleversie van F # interactief , fsi.exe worden gestuurd.

U kunt ook dubbelklikken op het bestand om het in Visual Studio te bewerken, terwijl u F # als script schrijft, heeft u toegang tot een aantal compileerinstructies zoals __SOURCE_DIRECTORY__ en __SOURCE_FILE__ die respectievelijk de huidige map en bestandsnaam retourneert.

Als een eenvoudig voorbeeld, hier is een script dat ik in 5 minuten heb samengesteld dat afbeeldingsbestanden in de huidige directory en submappen identificeert en ze hernoemt om in de titel te worden opgenomen, bijv. “ my_image.jpg ” wordt “ My_Image.jpg” .

Het uitvoeren van dit script geeft de volgende uitvoer:

Gedachten uit elkaar …

Het op deze manier gebruiken van F # heeft het voor de hand liggende voordeel dat u geen andere taal hoeft te leren, alleen maar om enkele scripts samen te hacken om eenvoudige taken voor u uit te voeren. Automatiseringstools bouwen is een gebied dat erg handig kan zijn. Geïnspireerd door de Rake-buildtool van de Ruby -wereld – waarmee je je build-script kunt schrijven in Ruby – hebben we nu een Fake build-tool waarmee we hetzelfde kunnen doen met F #.

Een ander voordeel van het gebruik van F # als scripttaal is prestatie . Scripttalen offeren doorgaans de uitvoeringssnelheid op voor het gemak van modificatie en implementatie. F # daarentegen wordt niet geïnterpreteerd en wordt altijd eerst gecompileerd, zodat het sneller kan zijn dan pure scripttalen.