浏览代码

extending content about using the lib.rs

Michael Mächtel 8 年前
父节点
当前提交
2db8ecc967
共有 1 个文件被更改,包括 19 次插入7 次删除
  1. 19
    7
      hw2/task2/README.md

+ 19
- 7
hw2/task2/README.md 查看文件

249
 `main.rs` auszulagern, sodass nur noch die *main()* Funktion in `main.rs` steht.
249
 `main.rs` auszulagern, sodass nur noch die *main()* Funktion in `main.rs` steht.
250
 
250
 
251
 Ausgelagert wird der Code in eine Bibliothek, genauer gesagt in die Datei
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
 ### Parsen der Config als Methode
265
 ### Parsen der Config als Methode
259
 
266
 
266
 
273
 
267
 ### Tests
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
 ### Dokumentation
281
 ### Dokumentation
272
 
282
 
273
 Dokumentieren Sie die Funktionen in Ihrer `lib.rs`.
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
 ```text
289
 ```text
278
 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`
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
 nicht aus `main.rs`.
303
 nicht aus `main.rs`.
292
 
304
 
293
 [args]: https://doc.rust-lang.org/std/env/fn.args.html
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
 [Arc]: https://doc.rust-lang.org/std/env/struct.Args.html
307
 [Arc]: https://doc.rust-lang.org/std/env/struct.Args.html
296
 [collect]: https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.collect
308
 [collect]: https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.collect
297
 [process::exit()]: https://doc.rust-lang.org/std/process/fn.exit.html
309
 [process::exit()]: https://doc.rust-lang.org/std/process/fn.exit.html

正在加载...
取消
保存