プログラミング

AtCoder

RustでAtCoder Beginners Selectionを解いてみた

Rustの勉強を進めており、理解を深めるためにAtCoder Beginners Selectionを解いてみました。 標準入力の扱い Rustだと標準入力の扱いが厄介であり、Pythonなどに比べると記載が冗長になりがちです。その問題を解...
Rust

Rustでheadコマンドを実装する②(-n, -cオプションを実装する)

前回の記事でheadコマンドのデフォルト仕様を実装しました。 実装したデフォルト仕様は「与えられたファイルの先頭3行(*)を出力する」というものでした。* 本来の仕様では出力行数は10行ですがテストコードが書きづらいので3行とします ただ、...
Rust

Rustでheadコマンドを実装する①(デフォルト仕様まで)

現在Rustの学習を進めており、基本的な文法と所有権などの独自の概念を何となく理解できました。しかし、実際にアプリを作ってみないと開発に繋げられる実践的な理解を得ることは難しいです。 そのため、LinuxのheadコマンドをRustで実装し...
Rust

Rustがメモリセーフである理由②(参照を理解する)

前回の記事でRustには「所有権」という機能があり、「所有権」は以下のメリットをもたらすことを確認しました。・ガベージコレクションを動作せずに実行できるため性能を高めることができる・明示的にメモリを確保、開放するための記述が必要ない・値のム...
Rust

Rustがメモリセーフである理由①(所有権を理解する)

プログラミング言語のRustが注目を集めています。Stack Overflowが2022年に行ったアンケートによると開発者が最も使いたい言語に7年連続で「Rust」が選ばれており、海外だと「Dropbox」や「Firefox」、国内でも「ク...