Просмотр исходного кода

extending content about using the lib.rs

Michael Mächtel 8 лет назад
Родитель
Сommit
e9f1069b24
1 измененных файлов: 19 добавлений и 7 удалений
  1. 19
    7
      hw2/task2/README.md

+ 19
- 7
hw2/task2/README.md Просмотреть файл

@@ -249,11 +249,18 @@ immer unübersichtlicher werden würde. Ziel ist es nun, das meiste aus der
249 249
 `main.rs` auszulagern, sodass nur noch die *main()* Funktion in `main.rs` steht.
250 250
 
251 251
 Ausgelagert wird der Code in eine Bibliothek, genauer gesagt in die Datei
252
-`src/lib.rs`.
252
+`src/lib.rs`. Um den Code aus `lib.rs` in `main.rs` verwenden zu können, müssen
253
+Sie ihre derzeitige 'Create' mit den entsprechenden 'extern' und 'use'
254
+Anweisungen in `main.rs`, erreichbar machen. Ergänzen Sie dazu in der
255
+`src/main.rs`:
253 256
 
254
->Um den Code aus `lib.rs` in `main.rs` verwenden zu können, müssen Sie ihre
255
->derzeitige 'Create' mit den entsprechenden 'extern' und 'use' Anweisungen in
256
->`main.rs`, erreichbar machen.
257
+```Rust
258
+extern crate task2;
259
+use task2::Config;
260
+```
261
+
262
+Alle *use* Anweisungen stehen in der `main.rs`. Es müssen keine weiteren *use*
263
+Anweisungen in der lib.rs stehen
257 264
 
258 265
 ### Parsen der Config als Methode
259 266
 
@@ -266,13 +273,18 @@ geeignet in Ihrer *main()* Funktion.
266 273
 
267 274
 ### Tests
268 275
 
269
-Die Test sind ausgelagert in die Datei `tests/task2.rs`
276
+Die Test sind ausgelagert in die Datei `tests/task2.rs`. Der Aufruf von cargo
277
+test sucht nach Unit Tests in der `src/main.rs` und im Verzeichnis `tests/`. Die
278
+Tests in `tests/task2.rs` funktionieren erst, wenn eine `src/lib.rs` existiert
279
+(siehe Aufgabenstellung [Restructuring](#restructuring) oben).
270 280
 
271 281
 ### Dokumentation
272 282
 
273 283
 Dokumentieren Sie die Funktionen in Ihrer `lib.rs`.
274 284
 
275
-Da Sie im `src/`Verzeichnis eine `main.rs` und eine `lib.rs` vorliegen haben, beschwert sich **cargo doc**, dass es nicht weiss wie es die Dokumentation erstellen soll:
285
+Da Sie im `src/`Verzeichnis eine `main.rs` und eine `lib.rs` vorliegen haben,
286
+beschwert sich **cargo doc**, dass es nicht weiss wie es die Dokumentation
287
+erstellen soll:
276 288
 
277 289
 ```text
278 290
 error: cannot document a package where a library and a binary have the same name. Consider renaming one or marking the target as `doc = false`
@@ -291,7 +303,7 @@ Damit weiß cargo, dass es die Dokumentation aus `lib.rs` erstellen soll und
291 303
 nicht aus `main.rs`.
292 304
 
293 305
 [args]: https://doc.rust-lang.org/std/env/fn.args.html
294
-[std::env]: https://doc.rust-lang.org/std/env/index.html
306
+[std::env]:https://doc.rust-lang.org/std/env/index.html
295 307
 [Arc]: https://doc.rust-lang.org/std/env/struct.Args.html
296 308
 [collect]: https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.collect
297 309
 [process::exit()]: https://doc.rust-lang.org/std/process/fn.exit.html

Загрузка…
Отмена
Сохранить