|
ToDo:
|
このひとまだ十代なのではありますが随分才能があります。今後期待しております。燃え尽きないでほしいな。
Clojurianを久しぶりに覗いたら学校が開校していたので入学してみた。
Programming Clojure新刊でてるー。和訳まで待つかどうするか。
ひかぞーの英語の宿題です。ついこの間まで日本人が何故英語を勉強しなきゃいけないのかって言っていたのが英語を勉強する気になったようです。
明日は台風らしいので期日前投票してきた。1時間待ちの大混雑でした。ネットによる投票の仕組みがほしいなぁ。
8月くらいに一度作って仕事忙しくって放置してたらなぜか?Compileできなくなったので再度更新。
最初はGitHub - davidMcneil/the-rusty-web: Targeting the web with Rust.を参考で動かしていました。
cd c:\
git clone https://github.com/juj/emsdk.git
cd emsdk
emsdk install sdk-incoming-64bit binaryen-master-64bit
emsdk activate sdk-incoming-64bit binaryen-master-64bit
emsdk installでむっちゃ時間がかかります。
c:\emsdk\emsdk_env
rustc --target=wasm32-unknown-emscripten hello.rs -o hello.html
python -m SimpleHTTPServer
cargoだとなぜか?.wasmをうまくつくってくれません。どこかで作ってくれませんって見かけたような気がします→一番したTracking issue for wasm support · Issue #38805 · rust-lang/rust · GitHub
emsdk_envしてあげないと環境をうまくみてくれません。
写経してみました。
use std::error::Error;
use std::fs::File;
use std::io::prelude::*;
use std::path::Path;
fn main(){
let path = Path::new(".\\hello.txt");
let display = path.display();
let mut file = match File::open(&path) {
Err(why) => panic!("cound't open{}: {}",display,
Error::description(&why)),
Ok(file) => file,
};
let mut s = String::new();
match file.read_to_string(&mut s) {
Err(why) => panic!("cound't read {}: {}",display,
Error::description(&why)),
Ok(_) => print!("{} contains:\n{}",display,s),
}
}
読み込みファイルがないとき
thread 'main' panicked at 'cound't open .\hello.txt: entity not found', open.rs:11:20
note: Run with `RUST_BACKTRACE=1` for a backtrace.
exit status 101
ファイルがあるけどエンコードがutf-8でないとき、このときはiso-2022-jpでした。
thread 'main' panicked at 'cound't read .\hello.txt: stream did not contain valid UTF-8', open.rs:17:20 note: Run with
`RUST_BACKTRACE=1` for a backtrace. exit status 101
でRUST_BACKTRACEを1 にしろってことなので
set RUST_BACKTRACE=1
にして実行したところ
thread 'main' panicked at 'cound't read .\hello.txt: stream did not contain valid UTF-8', open.rs:17:20
stack backtrace:
0: std::sys_common::backtrace::_print
at C:\projects\rust\src\libstd\sys_common\backtrace.rs:94
1: std::panicking::default_hook::{{closure}}
at C:\projects\rust\src\libstd\panicking.rs:380
2: std::panicking::default_hook
at C:\projects\rust\src\libstd\panicking.rs:397
3: std::panicking::rust_panic_with_hook
at C:\projects\rust\src\libstd\panicking.rs:611
4: std::panicking::begin_panic
at C:\projects\rust\src\libstd\panicking.rs:572
5: std::panicking::begin_panic_fmt
at C:\projects\rust\src\libstd\panicking.rs:522
6: __STATIC_FMTARGS
7: panic_unwind::__rust_maybe_catch_panic
at C:\projects\rust\src\libpanic_unwind\lib.rs:99
8: std::rt::lang_start
at C:\projects\rust\src\libstd\rt.rs:54
9: main
10: __scrt_common_main_seh
at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:259
11: BaseThreadInitThunk
exit status 101
と出てきたのはよいが…どーすりゃーええんぢゃ?
fn main() { let x; { x = Box::new(123); } println!("{:?}",x); }