Entries from 2009-04-01 to 1 month
Infix Functions -- Plus.hs a `plus` b = a + b*Main> plus 3 4 7 *Main> 4 `plus` 5 9語順がかえられる。infix # infix 【名】 《言語学》接中辞{せっちゅうじ}、挿入辞{そうにゅう じ}◆ある形態素の中に挿入される接辞。タガログ語などのオーストロア…
旅のラゴス (新潮文庫)作者: 筒井康隆出版社/メーカー: 新潮社発売日: 1994/03/30メディア: 文庫購入: 44人 クリック: 360回この商品を含むブログ (139件) を見る完読。実に爽快な物語。
唐突にほしくなって購入。 読書中。「集団移転」の話は好き。旅のラゴス (新潮文庫)作者: 筒井康隆出版社/メーカー: 新潮社発売日: 1994/03/30メディア: 文庫購入: 44人 クリック: 360回この商品を含むブログ (139件) を見る
虚航船団の逆襲 (中公文庫)作者: 筒井康隆出版社/メーカー: 中央公論社発売日: 1988/03メディア: 文庫この商品を含むブログ (7件) を見る知的にいっちゃった人のエッセイの寄せ集め。 過激な表現も一部ある。 メタレベルの話が好きな人は、多分この人の作品…
9章まで読んだ。 Product CodeがJavaベースであっても、 Webアプリケーションであれば、 プラウザ操作のAutomationのテストは、 RubyベースのTest|Specのライブラリでスクリプトテストって かなり現実解だなとメモ。 Agileのコンテキストで、Testの視野がク…
lines Prelude> :type lines lines :: String -> [String] Prelude> lines "aaaa\nbbb\n" ["aaaa","bbb"]Real World Haskell: Code You Can Believe In作者: Bryan O'Sullivan,John Goerzen,Donald Bruce Stewart出版社/メーカー: O'Reilly Media発売日: 200…
Xcodeをインストール http://www.macports.org/install.php MacPortsをインストール http://www.macports.org/install.php sudo port -v selfupdate Git sudo port install git-core Ruby sudo port install ruby RubyGems sudo port install rb-rubygems su…
ファイルの入出力 & 実行時のパラメータ import System.Environment (getArgs) interactWith function inputFile outputFile = do input <- readFile inputFile writeFile outputFile (function input) main = mainWith myFunction where mainWith function …
The Back of the Napkin: Solving Problems and Selling Ideas with Pictures作者: Dan Roam出版社/メーカー: Portfolio Hardcover発売日: 2008/03/13メディア: ハードカバー クリック: 5回この商品を含むブログ (7件) を見るぽちっと。先輩の本棚においてあ…
ダイアローグ 対話する組織作者: 中原淳,長岡健出版社/メーカー: ダイヤモンド社発売日: 2009/02/27メディア: 単行本購入: 6人 クリック: 86回この商品を含むブログ (30件) を見る出てくる例の内容は、私よりも歳上の人がターゲットのよう。ダイアローグの理…
終了したプロジェクト。ふりかえりで一番印象に残ったのは、プロジェクトのベロシティを加速させる道具としてIRCの導入がでかいという話を聞いたこと。 残念なことに、IRCの導入は私が抜けた後にとのことで私自身は体感していない。 地理的分散された状況化…
hoge n | n < 0 = "-" hoge n | n > 0 = "+" hoge _ = "zero" 条件式でもパターンマッチングが書ける模様。
subject, itの組み合わせ。 describe "subject and it" do subject{ [1, 2, 3, 3] } it { should == [1, 2, 3, 3] } it { should include 1 } it { should have(4).items } it { should_not =~ [1, 2, 3, 4] } it { should satisfy{ |subj| subj.first == 1 …
Rubyのイディオム。trueかfalseかのみで返したい。nilはfalseで返したい場合、!!を使うと良い。 irb(main):010:0> a = true => true irb(main):011:0> !!a => true irb(main):012:0> a = false => false irb(main):013:0> !!a => false irb(main):014:0> a =…
ダイアローグ 対話する組織作者: 中原淳,長岡健出版社/メーカー: ダイヤモンド社発売日: 2009/02/27メディア: 単行本購入: 6人 クリック: 86回この商品を含むブログ (30件) を見る意味論的転回―デザインの新しい基礎理論作者: クラウスクリッペンドルフ,Klau…
Local Variables -- foo.hs foo x = let a = 0 b = 1 c = 2 d = map (* 2) [1..] in if x >= 3 then d else [a, b, c]>:load foo.hs ... > foo 2 [0,1,2] > foo 3 [0,1,2] [2,4,6,8,10,12,14,16,18,20,.....-- bar.hs bar x = if x >= 3 then d else [a, b, …
http://www.infoq.com/jp/interviews/beck-implementation-patterns-ja パターンのそのような側面が完全に失われてしまったという事実は、私にとってのパターンの悲しい側面です。パターンは専門用語から構成されるただの知識レイヤのひとつとなってしまいま…
Recursive Types data Tree a = Node a (Tree a) (Tree a) | Empty deriving(Show)ツリーの定義が簡潔でいいな、と思った。 Wild Card, Pattern Matching, and Parameterized Types -- MyThird.hs tidyThird :: [a] -> Maybe a tidyThird (_:_:x:_) = Just x…
TOCにおいて、状況解釈とボトルネックを特定は、マネージャの思考力/想像力が試される。プログラムの問題を解くのとは、異なる面白さ。 一つの状況解釈に固執することなく、複数の状況解釈の中から選択するのがコツ。
Lazy Evaluation 理解があってるのかな? Prelude> let hoge a = putStrLn "fuga" Prelude> hoge (map odd [1..]) fuga"map odd [1..]"の箇所が評価されることなく、fugaが出力される。 必要になるまで、評価をさぼることで、計算量を押さえることができる。…
Prelude> 1/0 InfinityInfinity => 1. 無限{むげん}であること、無限性{むげん せい} 2. 無限{むげん}の宇宙{うちゅう}[時間{じかん}・空間{くうかん}] 3. 〔数えられない〕無限{むげん}の[膨大{ぼうだい}な]数量{すうりょう} 4. 《数…
-- user.hs data UserInfo = UserInfo{ userId :: Int , name :: String } deriving(Show) relude> :load user.hs [1 of 1] Compiling Main ( user.hs, interpreted ) Ok, modules loaded: Main. *Main> let user = UserInfo 1 "haru01" *Main> :type userId…
Wild Card sumList(x:xs) = x + sumList(xs) sumList _ = 0 _ がWild Cardパターンマッチングの際には、パターンにもれがないように, 最後にWild Cardを使うのが定番みたい。
Pattern Matching sumList(x:xs) = x + sumList(xs) sumList [] = 0 sumList [1..5]xは 配列のhead、xsは残りのtail 配列が空になるまで、再帰的にsumListを呼ぶ。空なら0を返すイメージ 1+(2..5) 1+(2+(3..5)) 1+(2+(3+4(5+(0))) enumeration data DayOfWe…
Defining New Data Type data UserInfo = UserInfo Int String deriving(Show) user = UserInfo 1 "haru01"
:info Prelude> :info Ordering data Ordering = LT | EQ | GT -- Defined in GHC.Ordering instance Bounded Ordering -- Defined in GHC.Enum instance Enum Ordering -- Defined in GHC.Enum instance Eq Ordering -- Defined in GHC.Base instance Ord O…
sudo port selfupdate sudo port install ghc 思いのほか、時間がかかった ghci > 1 + 1 2 > 2/=3 True >exp 1 2.718281828459045 :quit/= は !=
Agile Testing: A Practical Guide for Testers and Agile Teams (Addison-Wesley Signature Series (Cohn))作者: Lisa Gregory, Janet Crispin出版社/メーカー: Addison-Wesley Professional発売日: 2008/12/30メディア: ペーパーバック購入: 1人 クリック:…
相対主義の極北 (ちくま学芸文庫)作者: 入不二基義出版社/メーカー: 筑摩書房発売日: 2009/01/07メディア: 文庫購入: 11人 クリック: 55回この商品を含むブログ (34件) を見るようわからんが、一通り読んだ。相対主義の自己適用を突き進めたら、相対主義の特…