タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

programingとprograming languageに関するebo-cのブックマーク (1)

  • 必ず成功させるという設計選択 - Faith and Brave - C++で遊ぼう

    リストの先頭要素を取得するPreludeのhead関数は、空リストを与えると失敗します。 「1要素以上なら必ず成功する」という大半の状況でうまくいく処理のためにエラーハンドリングをするのはめんどくさいですし、エラーの可能性を残すというのは不安です。現状では必ず1要素以上のリストが渡されるけど、将来もしもここの箇所に0要素で来たら落ちるかもしれないからエラーハンドリングしておこう、という、現状では無駄なコードを書くことになるかもしれません。 この問題へのアプローチとして、「必ず1要素以上が入ることが保証されたリスト」を定義することで、エラーハンドリングすらさせない、というものが考えられます。 以下はHaskellで書いたものです。 type NeverEmptyList a = (a, [a]) front :: NeverEmptyList a -> a front xs = fst xs

    必ず成功させるという設計選択 - Faith and Brave - C++で遊ぼう
  • 1