Ich habe eine Container-Klasse, die im Grunde eine Liste ist. Da ich Subsetting unterstützen wollte, habe ich den Operator [
überlastet (wahrscheinlich schlecht implementiert).Operator Überlast funktioniert nicht mehr in R-Paket
Jetzt funktioniert das wie erwartet in meiner Entwicklungsumgebung (wenn ich das Paket debuggen). Das heißt, wenn y_old
ist ein spectra
Objekt und ich tun y_new = y_old[-1]
, y_new
ist immer noch ein spectra
Objekt.
jedoch wenn ich das Projekt als Paket kompilieren und installieren Sie es, kehrt der subsetting Operator einen list
anstelle eines spectra
Objekt.
Irgendwelche Ahnung von dem, was vor sich geht?
EDIT
habe ich vergessen zu erwähnen, dass ich RStudio und die devtools
Bibliothek bin mit.
Haben Sie eine Zeile mit 'S3method ("[", Spektren)' im 'NAMESPACE' Datei des Pakets? – nicola
@nicola Nein. Die ** einzige ** Zeile, die ich in 'NAMESPACE' habe, ist' exportPattern ("^ [[: alpha:]] +") ', was ich denke, was RStudio da reinlegt. – dudu
Setzen Sie diese Zeile, erstellen Sie das Paket neu und sehen Sie, ob es funktioniert. – nicola