Rust - 03プログラミング


私は現在、ジムブランディ、ジェイソンオルドルフとレオノフF . S .ティンドールによってプログラミングの錆を読んでいます.約束はないが、現在の計画は少なくとも第1章を終えることだ.
同時実行のセクションのための時間!著者はCとC +の問題が並行してどのように問題を起こすのかを指摘しています.彼らはそれを証明しません、しかし、さびが働く方法の製品によって、それは自然であるようです.私がそれを買うかどうかわからない.
著者がRustで並行性を見るために使用する例はかなり愚かです.私は彼らに想像して、他の多くの人に、それは非常に簡単だが気が!私はそれがスマートにされていないので、私はしようとするとここで単語をしようとしています.それは確かに面白いです、そして、この例はSECPを私に思い出させることに注意するのはおもしろいです.プログラミングにおける数学に焦点があるようです.私自身が教えた人として、私は決して本当に理解しませんでした.これは私の理論的知識の欠如を強調している.
とにかく!脇の接線、マンデルブロ集合は、0の近くに滞在する複素数のセットは、いくつかの数に加えて複雑な数Cを正方形にするときには、n複素数を介してイテレートとして、我々はマンデルブロ関数の無限大をトリガするかどうかを確認することができますチェックすることができます.
function mandelbrot(c) {
    let x = 0;
    loop {
        x = x * x + C
    } while (true);
}
これはマンデルブロ関数の基本的な要点です.目標は、xが無限大になるか、0のままでいるかを知りたいということです.それが0のまわりで動けなくなるならば、それはマンデルブロ集合の一部です.
私たちが本に従って置くことができる条件は、一度Xが2を超えているということです.次に、xが2未満であるならば、私たちはループの中で動けなくなるかもしれません、あるいは、それは10回目の反復の上にあるかもしれません、xは2より大きくなります、しかし、xは次の100回の反復のために2の下で残ります、しかし、getは101回目の反復でより大きいです.これは、我々がいつまでもチェックしたくないので、何らかの制限を加える必要があることを意味します.
アイデアはシンプルであり、グラフ上でこれをプロットクールなデザインのフラクタルデザインを作成します.私は、このものが現れる好奇心が強いです.
この関数のコードを書くのはとても簡単です.本の次に来るParseRankペア機能は間違いなく書く価値がありました.これはジェネリック関数として書かれており、文字列から数値を解析します.それはよくマッチを使用します、そして、それは私が決して本当に前にしなかった何かです.私は通常、非常に簡単にマッチを維持/またはそれらをかわすしようとしたが、この関数はどのようにマッチの仕事の良い例であり、私は他の場所でそれを使用する方法を見ることができます.
テスト機能を書くことも役に立ちました.
私はテストが格納される方法を見るためにより多くのさびのコードを見なければなりません、私は機能の次にテスト権利を保つことの考えが好きです、しかし、それは乱雑になることができました.それぞれの関数がそれ自身のファイルにあるなら、より意味があるかもしれません.
本が動作する次の主要な機能は、指定された画像サイズを取るし、各ポイントを複素数のスペースにマップする関数です.次に、これはどのように我々は我々は繰り返すことになるマンデルブロ集合の一部を決定します.そこで、複素空間空間の始点と終点を与えて、Cを定義する.すべてが非常にSFであると感じるので、それはかなり頭が良いです:.私はまだ理由を得ることはありませんが、これは素敵ないくつかの小説の明確なフィット感があります.
レンダリング関数はとても簡単です、そして、私が書いているように、私は、あなたが実際に複雑になった反復が無限に破られた反復に基づいて実際に色を設定するのに気がつきました.それで、我々は黒としてセットの数字をセットするでしょう、そして、他のすべては黒の色合いを変えるでしょう、2よりすぐに大きいもののために白へのすべての方法.制限はまた、我々が255の繰り返しであるならば、それが自動的に黒であるように、それを作ります.
画像を書くのはかなり簡単だが、おそらくこれはグレイスケールになるだろう.それはよりカラフルなイメージを書くために涼しいです、そして、これはそれに良いイントロです.
私はプログラムを終えて、それは全くきちんとしています.私は実際に画像を生成することができますし、それを再生することは非常に楽しいです達成感があります.何かを実際に作るプログラムを書くことについて言われる何か.私のPCで、これは生成するのに数秒かかります、そして、並行性がなぜこのプログラムのために大きいかはかなり明確です.ピクセルは互いに独立しており、我々は実際に物事をスピードアップすると同時に、すべての計算を行うことができます.別の日にそのセクションを出ます.
非常に本を推奨-最初の35ページをオフに基づいて.
私が生成した画像の一つ