5 Stimmen

Wie kann ich Emacs ess dazu bringen, einen Query-String (in Anführungszeichen) als Code zu erkennen?

Hintergrund

Ich habe eine Funktion dbquery das den Prozess der Abfrage einer MySQL-Datenbank aus R heraus vereinfacht.

dbquery <- function(querystring) {
  dvr <- dbDriver("MySQL")
  con <- dbConnect(dvr, group = "databasename")
  q <- dbSendQuery(con, querystring)
  data <- fetch(q, n = -1)
  return(data)
}    

So kann ich senden:

dbquery(querystring = "select field_1, field_2, field_3 
                       from table_a join table_b on this = that 
                       join table_c on that = something 
                       where field_4 in (1,2,3);"

Allerdings ist die Variable querystring muss in Anführungszeichen gesetzt werden. Dies führt dazu, dass Emacs ESS meine Abfragen nicht schön einrückt, wie es das im SQL-Modus tun würde - oder sogar wie es das tut, wenn keine Anführungszeichen vorhanden sind, sondern nur im ESS-R-Modus.

Pregunta

Ist es möglich, ESS dazu zu bringen, dies zu tun? Vielleicht, indem man die Funktion so schreibt, dass sie die Abfrage ohne Anführungszeichen akzeptiert (und die Anführungszeichen innerhalb der Funktion hinzufügt), oder vielleicht etwas zu .emacs oder ess.el hinzufügt?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X