Org -Mode Del 2 - Utfør kode

Org -Mode Del 2 - Utfør kode
Når du vil lære og lære kode, kan det være nyttig å skrive koden i et dokument. Dette er også nyttig for planleggingsstadiet til et prosjekt. Du tror kanskje at du bare legger kommentarer i koden, men det kan være plagsomt siden kommentarer må vise hvordan denne koden fungerer. I dokumentet kan du legge prosjektideer, planlegging og abstrakte ideer som ikke hører hjemme i kodekommentaren. Dokumentet kan også inneholde resultater av utførelsen, som er kraftig for å trekke konklusjoner, men har ingen plass i endelig kode.

Kode i Emacs

Mange utviklere bruker Emacs for å utvikle programvare, det er en kraftig kodeditor. Faktisk anser mange det som en IDE, når de er riktig konfigurert. Men dokumenter er vanligvis atskilt fra koden. Hvis du vil demonstrere kode eller planlegge et nytt prosjekt, kan du bruke kodebit. For å vise hvordan du tror det må fungere, kan du skrive et slikt dokument. En kraftig måte å gjøre dette på er å lage et org -dokument. For å legge til kode i dokumentet, må du legge til en kodeblokk. En kodeblokk er et standard sett med kode som du kan se nedenfor.

#+BEGIN_SRC JavaScript
const app, nettleserwindow = krever ('elektron')
const bane = krever ('sti')
#+end_src

Resultatet kan gå til dokumentet.

Dette eksemplet skaper ikke en utgang, den enkleste måten å få produksjon på er å bruke Shell. Når du vil kjøre en kommando og vise resultatene, må du legge til en overskriftsparameter.

#+BEGIN_SRC SHELL: Eksporter begge deler
uname -a
#+end_src
uname -a
Linux Mats-Ubuntu 5.0.0-20-generisk #21-Ubuntu SMP man 24. juni 09:32:09
UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Resultatet er lagt til av Emacs i blokkering under utførelseskoden. Hvis du vil ha mer avanserte resultater eller du vil kombinere blokker, må du navngi kildekodeblokken. Legg til det valgfrie #+-navnet: Tag. Denne taggen fungerer for tabeller så vel som kode.

Tabell 1.3.1:

x y z
0 1 4
1 3 6
2 4 8

Med Calc -modulen kan du legge inn data og få resultatene som vises i dokumentet.

#+Begin_src Calc: var x = 5: var y = 2: Eksport begge
2+a*x ** y
#+end_src

Først vises koden, i det skjemaet du spesifiserer. Rett nedenfor vises resultatene.

2+a*x ** y
25 a + 2

Dette er et veldig enkelt eksempel, med støtte for latex kan du få hvilken som helst formel du ønsker med resultatet i et veldig godt formatert dokument. EN

\ begynn ligning
x = \ sqrt b
\ end ligning

Hvis du produserer tomter med koden din, kan du vise det inne i dokumentet. Nedenfor kan du se en veldig enkel kode som bruker gnuplot for å plotte resultatet av x2.

f (x) = x ** 2
plot f (x)

For at dette skal fungere, må du ha Gnuplot installert på systemet ditt. Disse funksjonene kalles alle fra systemet og presentert i Emacs. Det samme gjelder alle programmeringsspråk som Emacs støtter.

Ikke all kode støttes, ut av boksen

For effektivitetens skyld er ikke alle støttede språk aktive i en vaniljeinstallasjon av Emacs. For å sikre at du har den aktiv, kan du legge til kode i EMACS -konfigurasjonen, init.El er standardfilen.

'(Org-Babel-Load-Languages
(sitat
((Python . t)
(Emacs-lisp . t)
(Skall . t)
(JS . t)
(Sqlite . t)
(Calc . t))))

Ovennevnte kode muliggjør seks språk ved å sette dem til 'T'. 'T' er den vanlige måten i Lisp å si sann. Du kan også velge å angi denne verdien med metoden 'M-X Customize-Variable'. Når du gjør dette, må du skrive inn variabelnavnet, eller gruppen. I dette tilfellet er variabelen 'Org-Babel-Load-Languages'. Når du kommer til siden, kan du se hva som støttes og aktivere de du vil ha.

Legge til et språk

Hvis språket ditt ikke er på listen, kan du se etter språk på https: // orgmode.ORG/WORG/ORG-CONTRIB/BABEL/Språk Listen over støttede språk er allerede lang og vokser med dagen. Merk Her er det bare nødvendig med støtte for et språk for evalueringen. Visning, eksport og sammenfiltring støttes uten det. På den nevnte websiden har du også bidratt med språk som krever litt mer arbeid for å installere. Hvis du fremdeles ikke kan se språket ditt, er det en mal for å legge til det selv. Dette krever noen LISP -programmeringsferdigheter, men hvis du ser på de andre språkene, bør du kunne legge det til selv med mindre erfaring.

Konklusjon

Denne artikkelen har bare skrapet overflaten på hva du kan gjøre med org-modus. Flere funksjoner er tilgjengelige og å ringe Emacs en enkel redaktør gjør deg selv en bjørnetjeneste.