- 583 名前:現代数学の系譜11 ガロア理論を読む [2016/10/02(日) 17:53:47.30 ID:buf52I0X.net]
- >>535
ああ、”連結”を使っている人もいるね 無限の文字列リストを連結すると もっとも、これはプログラミングだが ”実は文字列は連結について モノイド 構造をなし”とありますよ https://y-taka-23.gitbooks.io/frege-goodness-jp/content/docs/fizz-buzz.html FizzBuzz 問題 ・ Frege Goodness (日本語版): (抜粋) 部品の準備 今回採用する方法は、命令型オブジェクト指向プログラミング方面の人にとってはやや馴染みがないかもしれません。無限リストを組み合わせて使います。 無限 fizz パターン fizzes = cycle ["", "", "fizz"] buzz のパターンがどのようになるかはもうわかるでしょう。 無限 buzz パターン buzzes = cycle ["", "", "", "", "buzz"] これで必要な部品は揃いました。 ルールを組み合わせる 揃えた部品は組み立てねばなりません。まず以下のようなパターンを作り出すために、fizz パターンと buzz パターンを組み合わせる必要があります。 "", "", "fizz", "", "buzz", "fizz", "", … これは、単に fizz パターンと buzz パターンを要素ごとに連結し、新しい無限リストを作り出せば OK です。 マニア向け情報 ここでは、文字列の先頭または末尾に空文字列を連結しても、元の文字列は変わらないという事実を用いています。実は文字列は連結について モノイド 構造をなし、"" はその単位元です。 数字と組み合わせる このような無限リストは極めて使い勝手がよいものです。無限リストを組み合わせる方法についてはすでに 2 回見てきましたが、フィルタリングしたり出力するために抜き出したりといったことも簡単にできます。
|

|