エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

2014-08-01から1ヶ月間の記事一覧

いかにして表計算の列名をつくるか・特別篇

Haskellでたわむれていると。 id:nobsun さんが実に軽快な解法をコメントに残してくださいました。 colns = concat cns where cns'@(_:cns) = [""] : [[c:ns | c <- ['A'..'Z'], ns <- nss] | nss <- cns' ] Qiita では、さらにエレガントな解を展開されてい…

いかにして表計算の列名をつくるか・補遺・その補遺

おさらい。 いかにして表計算の列名をつくるか - エンジニアのソフトウェア的愛情 いかにして表計算の列名をつくるか・補遺 - エンジニアのソフトウェア的愛情 最終形態 先日、Haskellで無限長配列を生成する例を挙げました。再掲。 import Data.List(group)…

いかにして表計算の列名をつくるか・補遺

先日Rubyで書いたものをRuby以外のメジャーどころの言語でも実装してみます。 桁上がりで1文字戻す Ruby 再掲。 def column_names(n) result = '' begin result = (n % 26 + 65).chr + result n = n / 26 - 1 end while n >= 0 result end C++ #include <string> st</string>…

いかにして表計算の列名をつくるか

「列名って、なに?」これです。このA, B, ..., Z, AA, AB, ... という文字列です。仕事でちょっとゴルフネタ的ななにかになったので、記録しておきます。 みんな大好き、直積 列名は最初は1桁の A〜Z の26個、次に2桁の AA〜ZZ の676個、次に3桁の AAA〜ZZZ…