- 23 3月, 2013 7 次提交
-
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
-
由 bors 提交于
The `each_line` function in `ReaderUtil` acts very differently to equivalent functions in Python, Ruby, Clojure etc. E.g. given a file `t` with contents `trailing\nnew line\n` and `n` containing `no trailing\nnew line`: Rust: ```Rust t: ~[~"trailing", ~"new line", ~""] n: ~[~"no trailing", ~"new line"] ``` Python: ```Python >>> open('t').readlines() ['trailing\n', 'new line\n'] >>> open('n').readlines() ['no trailing\n', 'new line'] ``` Ruby: ```Ruby irb(main):001:0> File.readlines('t') => ["trailing\n", "new line\n"] irb(main):002:0> File.readlines('n') => ["no trailing\n", "new line"] ``` Clojure ```Clojure user=> (read-lines "t") ("trailing" "new line") user=> (read-lines "n") ("no trailing" "new line") ``` The extra string that rust includes at the end is inconsistent, and means that it is impossible to distinguish between the "real" empty line a file that ends `...\n\n`, and the "fake" one after the last `\n`. The code attached makes Rust's `each_line` act like Clojure (and PHP, i.e. not including the `\n`), as well as adjusting `str::lines` to fix the trailing empty line problem. Also, add a convenience `read_lines` method to read all the lines in a file into a vector.
-
- 22 3月, 2013 33 次提交
-
-
由 bors 提交于
I made a typo in `str::levdistance` in my str pull request. This fixes it.
-
由 Huon Wilson 提交于
-
由 Huon Wilson 提交于
Specifically, `lines` and `each_line` will not emit a trailing empty string when given "...\n". Also, add `read_lines`, which just collects all of `each_line` into a vector, and `split_*_no_trailing` which will is the generalised version of `lines`.
-
由 bors 提交于
Closes #5411.
-
由 Andrew Paseltiner 提交于
-
由 Andrew Paseltiner 提交于
-
由 Andrew Paseltiner 提交于
-
由 Andrew Paseltiner 提交于
-
由 Andrew Paseltiner 提交于
-
由 Andrew Paseltiner 提交于
-
由 Andrew Paseltiner 提交于
-
由 Andrew Paseltiner 提交于
-
由 Andrew Paseltiner 提交于
-
由 bors 提交于
-
由 bors 提交于
Closes #4468
-
由 bors 提交于
-
由 Erick Tryzelaar 提交于
-
由 bors 提交于
r? @catamorphism
-
由 bors 提交于
This makes the `trim` and `substr` functions return a slice instead of an `~str`, and removes the unnecessary `Trimmable` trait (`StrSlice` already contains the same functionality). Also moves the `ToStr` implementations for the three str types into the str module in anticipation of further untangling.
-
由 Patrick Walton 提交于
-
由 bors 提交于
In struct section of tutorial, make everything more coherent and clear by always using "struct Point". Also, do not prematurely introduce pointers and arrays. Fixes #5240
-
由 Daniel Micay 提交于
Closes #4468
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
librustc: Forbid destructors from being attached to any structs that might contain non-Owned fields. r=nmatsakis
-
由 bors 提交于
The old string benchmarks weren't very useful because the strings weren't long enough, so I just threw those out for now. I left out benchmarks of `oldmap` because it's clear that it's 30-40% slower and it doesn't implement the `Map` trait. This also cleanly divides up `insert`, `search` and `remove`.
-
由 Daniel Micay 提交于
-
由 bors 提交于
Adds an assert_eq! macro that asserts that its two arguments are equal. Error messages can therefore be somewhat more informative than a simple assert, because the error message includes "expected" and "given" values.
-
由 Marvin Löbel 提交于
-
由 Marvin Löbel 提交于
Switched over substr and trim functions in str to be non-allocating, temporary renamed them to better track use-sites
-
由 Daniel Micay 提交于
* Closes #4603
-
由 Daniel Micay 提交于
-
由 Luca Bruno 提交于
In struct section of tutorial, make everything more coherent and clear by always using "struct Point". Also, do not prematurely introduce pointers and arrays. Fixes #5240 Signed-off-by: NLuca Bruno <lucab@debian.org>
-
由 bors 提交于
-