[rust-dev] write_str error

Brian Anderson banderson at mozilla.com
Sun Apr 8 13:45:12 PDT 2012


On 04/07/2012 08:58 PM, Mic wrote:
> Hi,
> I am getting the following errors:
>
> $ rustc csv_create.rs <http://csv_create.rs>
> csv_create.rs:17:1: 17:14 error: attempted access of field write_str 
> on type core::io::writer, but no public field or method with that name 
> was found
> csv_create.rs:17 <http://csv_create.rs:17>        rdr.write_str("aaa, 
> bbb,ccc , ddd,eee,fff,ggg,hhh,iii,jjj,kkk,lll,mmm,nnn\n");
>                                   ^~~~~~~~~~~~~
> csv_create.rs:17:1: 17:78 error: mismatched types: expected function 
> or native function but found _|_
> csv_create.rs:17 <http://csv_create.rs:17>        rdr.write_str("aaa, 
> bbb,ccc , ddd,eee,fff,ggg,hhh,iii,jjj,kkk,lll,mmm,nnn\n");
>                                   
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> with the following code:
>
> import io::reader_util;
> import vec::map;
>
> fn main(args: [str]) {
>
>     let r = io::file_writer("csv.csv" , [io::create, io::truncate]); 
> // r is result<reader, err_str>
>     if result::is_failure(r) {
>         fail result::get_err(r);
>     }
>
>     let rdr = result::get(r);
>
>     let count = 0;
>     while true {
>
>         if count == 4000000 { break; }
>         rdr.write_str("aaa, bbb,ccc , 
> ddd,eee,fff,ggg,hhh,iii,jjj,kkk,lll,mmm,nnn\n");
>         count += 1;
>     }
> }
>
> What did I do wrong and would it possible to rewrite the while loop 
> with for loop?
>

I believe the problem is that you are using a writer type but have 
imported a reader impl. if you add an `import io::writer_util;` 
statement then it will get farther.

The most concise way to write your while loop would be using 
`iter::repeat` which just executes a function a specific number of 
times, like `iter::repeat(4000000) {|| ... }`. Sadly `iter::repeat` 
can't be used in a for loop yet. Our iteration strategy still needs an 
overhaul to be compatible with `for`.

-Brian

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20120408/51d25027/attachment.html>


More information about the Rust-dev mailing list