Skip to Content
Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ
book

Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ

by Ken Youens-Clark, 中山 光樹
January 2024
Intermediate to advanced
472 pages
5h 56m
Japanese
O'Reilly Japan, Inc.
Content preview from Rustの練習帳 ―コマンドラインツールの作成を通してRustを学ぶ

13章calコマンド

光陰矢のごとし / 時計の針はとても速く進み、風を吹かせる /

カレンダーのページを一枚一枚窓の外に飛ばしていく

—— They Might Be Giants, "Hovering Sombrero" (2001)

本章では、ターミナル上でカレンダーを表示するcalコマンドのクローンを作成します。個人的には、今日が何日で何曜日なのかわからなくなることがよくあるので、caldateを使って確認しています。一見すると単純なコマンドに見えますが、実装を突き詰めていくとかなり複雑になります。

本章では、以下の内容を学びます。

  • 今日の日付を特定し、基本的な日付操作を行う方法
  • Vec::chunksを使ってベクタの要素をグループ化する方法
  • 複数のイテレータから得られる要素を結合する方法
  • ターミナル上でテキストを反転表示する方法

13.1 calの動作

まずはBSD版のcalのマニュアルページを見て、何を実装する必要があるかを考えてみましょう。マニュアルページはかなり長いので、今回のプログラムに関連する部分だけ示します。

CAL(1) BSD General Commands Manual CAL(1) NAME cal, ncal — displays a calendar and the date of Easter SYNOPSIS cal [-31jy] [-A number] [-B number] [-d yyyy-mm] [[month] year] cal [-31j] [-A number] [-B number] [-d yyyy-mm] -m month [year] ncal [-C] [-31jy] [-A number] [-B number] ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

プログラミングC# 第8版

プログラミングC# 第8版

Ian Griffiths, 木下 哲也, 鈴木 幸敏
進化的アーキテクチャ ―絶え間ない変化を支える

進化的アーキテクチャ ―絶え間ない変化を支える

Neal Ford, Rebecca Parsons, Patrick Kua, 島田 浩二

Publisher Resources

ISBN: 9784814400584Publisher Website