tuple-struct

___ tag123rust ___ Rust ist eine Sprache, die für das Schreiben von sehr zuverlässiger und schneller Software auf einfache Weise entwickelt wurde. Es kann von High-Level-Code bis zu hardwarespezifischem Code und von großen Eisen zu kleinen Geräten verwendet werden. ___ qstnhdr ___ Der Konstruktor der Tuple-Struktur beschwert sich über private Felder ___ qstntxt ___

Ich arbeite an einem grundlegenden Shell-Interpreter, um mich mit Rust vertraut zu machen. Bei der Arbeit an der Tabelle zum Speichern suspendierter Jobs in der Shell bin ich bei der folgenden Compiler-Fehlermeldung hängen geblieben:

%Vor%

Es ist mir unklar, was hier als privat angesehen wird. Wie Sie unten sehen können, sind beide Strukturen mit %code% in meiner Moduldatei markiert. Also, was ist die geheime Soße?

%Vor%     
___ tag123private ___ Private ist eine Art der Kapselung in der objektorientierten Programmierung. ___ tag123tuplesstruct ___> Rust hat einen anderen Datentyp, der wie ein Hybrid zwischen einem Tupel und einer Struktur ist, der sogenannten 'Tuple-Struktur'. Tuple-Strukturen haben einen Namen, aber ihre Felder nicht. Sie werden mit dem Schlüsselwort struct und dann mit einem Namen gefolgt von einem Tupel deklariert von https://doc.rust-lang.org/book/structs.html#tuple-structs ___ answer24112385 ___

Wie die Fehlermeldung andeutet, ist das Problem %code% hat ein privates Feld, das heißt, auf den Wert %code% kann nicht außerhalb des Moduls zugegriffen werden, das %code% definiert. Dies bedeutet, dass Sie keine Mustererkennung für einen %code% -Wert erstellen können, um ihn zu extrahieren, und dass Sie ihn nicht direkt erstellen können.

Es gibt zwei Fixes:

  • mache das Feld öffentlich %code%
  • stellt einen öffentlichen Konstruktor bereit

    %Vor%

    wird wie %code% aufgerufen.

___
1
Antwort

Der Konstruktor der Tuple-Struktur beschwert sich über private Felder

Ich arbeite an einem grundlegenden Shell-Interpreter, um mich mit Rust vertraut zu machen. Bei der Arbeit an der Tabelle zum Speichern suspendierter Jobs in der Shell bin ich bei der folgenden Compiler-Fehlermeldung hängen geblieben: %Vor% E...
08.06.2014, 21:22