Rust: Vector vs. Array | Rust Tutorial #4

preview_player
Показать описание
Zur Neuauflage meiner Rust Tutorials (die alten waren von der Beta):

* *Meine Website mit allen anderen Kanälen und Newsletter* *:

_Discord:_

_Unterstützt mich - Danke!:_
Рекомендации по теме
Комментарии
Автор

Zu 1:47 und 14:35 - Der Vektor bzw Array kann mit nem Debug format doch "einfach so" ausgegeben werden. Also println!("{:?}", v) oder println!("{v:?}")
Zur foor-loop: Es ist kein & nötig in diesem Fall.
Zu 11:20 - Wir können uns bei :? genauso sicher sein, dass es funktioniert wie ohne :?, der Unterschied ist Debug vs Display trait.
Zu 16:30 - Beim Vektor kann auch mit eckigen klammern gearbeitet werden, beim array kann auch .get genutzt werden. Da ist kein Unterschied. Nützlich ist das für alle slices.

world
Автор

zu 22:40 da sagst du: das ist sehr sehr viel langsamer als das was push macht? Was meinst du damit? Ich kann das nicht so ganz verstehen. Ein Element in ein Array an eine bestimmte Stelle zu schreiben sollte sogar schneller sein als es auf einen vec zu pushen, weil wir 1. nicht den len counter des vecs inscreasen, 2. niemals neues heap memory allocaten und 3. den wert den wir an die Stelle schreiben wollen nicht erst auf dem stack erschaffen und zu einer heap Adresse kopieren.

SEOTADEO
Автор

Arrays könnte man auch dann nutzen, wenn man die *maximale* Anzahl aller Elemente kennt. Hierzu definiert man das Array mit Options: [Option<i32>; 4].

embeddedbastler
Автор

Was mich in Rust anfangs und auch jetzt noch am meisten verwirrt ist neben den zwei unterschiedlichen String-Typen das mit diesen Options, also das mit diesem Some() und so. Vorallem auch zu erkennen, wann so ein Objekt (?) entsteht und wann nicht, denn gefühlt entsteht es wie es ihm so passt.

IPnator
Автор

Warum nimmst du nicht das Array 'a' und fügst es einfach in den Vector ein? 22:29

HenrykZ
Автор

Wenn ich ehrlich bin, erschließt sich mir den Sinn der Arrays nicht. Einen Vorteil müssten die doch haben (Geschwindigkeit? Speichereffizienz?), sonst würde ich immer Vektoren nehmen. Wesentlich höhere Flexibilität bei gleichem Funktionsumfang. Was übersehe ich hier?
Zweite Frage: Kann ich verschiedene Variablentypen in einen Vektor pushen? Von dem, was ich im Video gesehen habe, eher nicht (Vektor hat einen Datentyp), aber vielleicht gibt es so was wie Generics. Und bitte entschuldigt die doofen Fragen, habe noch keine Rust Umgebung installiert. Bekomme aber langsam Appetit.

jaksaskelin
Автор

ich nehme mal stark an das es auch geht das man einfach Arrays in Arrays bei Rust speichern kann genauso wie Vectoren und bei vectoren ist das selbe der Fall ^^
btw fürs nächste Video wäre es ja vielleicht mal eine idee endlich mal auf die Pointer einzugehen oder aber mal auf If und else und was es bei entscheidungen sonst noch so gibt in Rust
finde Rust mega interessant und freue mich schon riesig darauf das es endlich mal weiter geht als bitte bitte mehr davon <3

terrax
Автор

Vorsicht: Es muss nicht sein, dass Vec nicht beim Einfügen Elemente kopiert. Ist Vec wirklich eine verkettete Liste? Der C++-Vector führt ja auch ein internes Array bei dem er immer etwas mehr Platz anfragt als benötigt und bei Bedarf Inhalte kopiert. Nachdem ich das Video zu Strings gesehen habe glaube ich, dass Rust das zumindest dort macht (Länge/Kapazität). Wie ist Vec in Rust denn implementiert?

MS-lmiu
Автор

Die Syntax ist aufjedenfall komplizierter wie die von Python 😂

easypy
Автор

Bevor du auf bestimmte Dinge eingehst, wäre es sicherlich von Vorteil, wenn du erstmal alle Basics durchgehst. Dazu gehören Datentypen, Verzweigungen, Schleifen und alle weiteren syntaktischen Gegebenheiten wie auch Pointer. Danach kann man dann immer noch spezifischer werden.

MangoNutella
Автор

OFFTOPIC: Mach bitte mal eine Anleitung wie man das neue LLAMA-2 installiert. Ich scheitere am fehlenden Cuda (Apple M1) und habe alternativ nur einen PC mit AMD Grafik, also ebenfalls ohne Cuda.🙈

TT-piww
Автор

Das ist aber schon sehr aufwendig und kryptisch. Das ist echt beliebt?

barfusselektrisch
Автор

println!("{:?}", z.B Vec oder Arrays
oder structs die du mit #[derive(Debug)]

Thalatar