読者です 読者をやめる 読者になる 読者になる

EmscriptenでRustをJavaScriptへコンパイルする

以前のエントリではうまくいかなかった、RustのJavaScriptへのコンパイルですが、 gifnksm.hatenablog.jp 先日フォーラムに投稿されていたやり方をまねるだけで簡単にできるようになっていました。 internals.rust-lang.org Rust本体にEmscripten対応が取り…

EmscriptenでRustをJSへコンパイルする (コンパイルできてない)

2016/3/8追記 うまくいきました。エントリ書きました。 gifnksm.hatenablog.jp RustでEmscriptenを使う方法を調べたのでメモ。2015年12月28日時点でなんとか動作させるための手順です。今後オフィシャルにEmscriptenサポートが入るなどすると、もっと簡単な…

kcovを使ってRustプログラムのカバレッジを測定する

本記事は Rust Advent Calendar 2015 13日目の記事です。 前置き Rust 1.5リリースおめでとうございます!!! cargo install の登場により、Rust製ツール群のインストールが飛躍的に楽になりました。最近のアップデートに追従できていなかったという方も、…

Power Assert を Rust で作ってみた

素敵な表示をしてくれるassertionライブラリ、Power Assert を Rust でも実現してみました!!! gifnksm/power-assert-rs Assertion failure 時にこんな感じに分かりやすくメッセージ出力してくれます。使い方は GitHub参照ください。 $ cargo run --exampl…

rustで変なテトリスを書いた

Rust1.0リリースパーティーで、絶対にPistonを使ってみるぞ!!!と決心してから早3ヶ月、やっとPistonを触ってみました。 Piston触ってみようかな #rustlang— ぎふ (@gifnksm) 2015, 5月 16 チュートリアル編 RustリリースパーティーでLTをされていた、http…

rustでtelnetチャットを書いた

ソケットプログラミングの練習でよくあるアレをrustで書いてみた。 https://github.com/gifnksm/telnet-chat クライアントプログラム書くのがダルかったので、telnet を使う仕様にした。 \ から始まるコマンドを打つことで、参加者一覧を出したりできる。 練…

multirust で今日から始める快適 rust 生活

Rust 1.0 リリースおめでとうございます!!!! Rust 1.0 がリリースされました!!!!めでたい!!!!!! このリリースは非常に大きな一歩です。これまではコンパイラのバージョンが上がる度にコードを頑張って修正する必要がありましたが、今後はstabl…

Rust nightly の x86_64, i686 両対応版の PKGBUILD

タイトルの通りのブツです。これを参考にして rust-bin-nightly を改造した感じです。 パッケージのビルド時間が短くなって大変ハッピー。 # Maintainer: NAKASHIMA, Makoto <makoto.nksm@gmail.com> pkgname=rust-nightly-bin pkgver=2015.01.25 pkgrel=1 arch=('i686' 'x86_64') p</makoto.nksm@gmail.com>…

Rustでコンパイル時処理に挑戦する

この記事は Rust Language Advent Calendar 2014 の21日目の記事です。 20日目はRyuseiさんの「Go, Rust, Haxeによる正規表現エンジン実装の読み比べ - M59のブログ」、22日目はwoxtuさん担当です。 Rustのコンパイル時処理 システムプログラム界隈でコンパ…

rustpkg test でプロダクトコード中に書かれたユニットテストを実行する

以下のようなパッケージ foo が存在したとします。 // src/foo/lib.rs #[crate_id = "foo"]; pub fn super_complex_function() -> uint { 42 } #[cfg(test)] mod test { #[test] fn test_super_complex_function() { assert_eq!(42, super::super_complex_fu…

Rust 基礎文法最速マスター (rust 0.7 編)

警告 (2014/1/25 追記) 以下の記事ですが、今となっては通用しない記述が多く含まれています。 0.7 から現在までに行われた大きな変更としては、思いつくだけでも 言語組み込み機能としての managed box が非推奨になった (将来削除され、ライブラリによる実…

rust-incoming-git の PKGBUILD

rust の最新の変更の commit 先が master ブランチから incoming ブランチに変更されたため、 master ブランチの動きが少なくなってしまい寂しかったので、 incoming ブランチ用の PKGBUILD を作成しました。ついでに、AUR にアップしておきました。 AUR (en…

rust-git の PKGBUILD

AUR にある rust-git が、makepkg しようとすると毎回 llvm やら libuv のサブモジュールを clone しようとして時間がかかって仕方が無いので、初回だけ clone するように修正してみた。ついでに、コンパイラとして clang を使う設定もいれてみた。 既にある…

Rust で ProjectEuler #8 ~ #12

Problem 8 入力された数列に含まれる5つの連続した数の積のうち、最大のものを求める問題。 最新版ソース use std; fn main() { const prod_len: uint = 5u; let input = " 73167176531330624919225119674426574742355349194934 969835203127745063262395783…

Rust で ProjectEuler #4 ~ #7

Problem 4 3桁の2つの数の積で表せる最大の palindrome な数。 最新版ソース use std; fn to_palindromic(n: u64, dup_flag: bool) -> u64 { let cs = str::chars(u64::to_str(n, 10u)); let s = str::from_chars( if dup_flag { cs + vec::tail(vec::revers…

Rust で ProjectEuler のレポジトリを github で公開しました

レポジトリ作った。ソースは適宜修正していく予定ですので、最新版はこちらを参照してください。 gifnksm/ProjectEulerRust · GitHub

Rust で ProjectEuler #1 ~ #3

放置状態になっていたProject Eulerを再開してみることにしました。以前はHaskellでProb. 133まで解いてHaskellに慣れることができたので、今回はRustで書いてみようと思います。Haskellは最後まで使いこなせてる感は出なかったのですが、遅延評価ではないRu…

Rust で Generic な数値型を作る

ちまたで話題(?) の Rust 言語。昨年末くらいから「日本語情報が全然無い、先駆者になるチャンス!」とか思いながらのろのろしてたら、先日の0.1版発表で一気に知名度が上がってしまい(´・ω・`)としているgifnksmです。 0.1リリースでいろいろ変わりました…