2008-05-01から1ヶ月間の記事一覧
MySQLとの連携について記述があったんで読んでおいた。 (数えるほどしかないけど)これまで何冊か読んだ関数型言語の本のうち、変数の束縛について、主客が逆転してる説明は初めてだった。
近所の本屋になかったので、ブックオフでゲット。短編集だった。薔薇十字探偵みたいなもんか。 「ギリシャの犬」に「水晶のピラミッド」て単語が出てきたけど先に読むべきなのか?こちらの方が先に出てるはずだけど。
実家に帰る電車の中で読み終わった。それだけ。
amazonで「殺戮にいたる病」を買ったときに目に入ったので一緒に買った。 あまりミステリ然としたミステリではないけど、面白いのは面白かった。 前回のもそうだったけど、濃度にばらつきがある気がする。後半に偏りすぎじゃないか。
F#を学習するための足がかりにするために読んでみた。 例によって途中から難易度が跳ね上がる。GUIのところなんてほぼ素通り。みんなTcl好きだなー。 それにしても、どうにも変な言語だと思った。とりあえずHaskellとErlangを先にやろうと。
どこから来たのかさっぱり覚えてないけど、いつか読まねば、と思っていたので手に取って見た。 途中気持ち悪くて、ほんとどうしようかと思ったけど、なんとか最後までたどり着いた。雅子はほんとだめだ。 文庫あとがきには「本格探偵小説」だあるけど、あま…
入門と冠しているだけあって、初心者向けもいいとこだった。特に前半。 Cとの連携あたりはさわりもいいとこで、ほとんど実がないと思う。紙幅足りなくて中途半端な説明するくらいなら、前半部分の話をもっと突っ込めばよかったんじゃないかと思う。
「アルキメデス」なんかよりは読みやすかった。 途中、大神がぶった演説がなんのことやらさっぱり。話が二転三転した上に最後はそれかと。 法月が出てくる作品読まないと判断できないな。とりあえず「雪密室」あたりの改訂版出ないことには。
なんだか変な勘違いしてたので整理。 通常の配列の場合。 | a | a := #(8 + 9 A , B 'hello world' #'bon jours' (x y z) ). " 擬似コード風味で書いてみる。 a[1] = 8 a[2] = #+ a[3] = 9 a[4] = #A a[5] = #, a[6] = #B a[7] = 'hello world' a[8] = #'bon…
初版がkonozamaだったころ、オライリーで注文したらすぐに届いた。 最初はするする読めたけど、マクロとか継続の話の辺りから急に話についていけなくなった。Learning Perlを読み始めたとき(初めてプログラミングに触れたとき)と同じような印象。 とりあえず…
ふと気が向いて調べてみたら、いつの間にか出てたのでゲット。 犯人探しという意味では早々にわかってしまうのがあれだけど、内容自体はおもしろく読めた。 次の館はまだですか?半年後だったりして。
早速落としてきた。スプラッシュ出るようになった。 日本語 [Package Loader]から「Japanese」で検索して出てきたやつを[install]。 特に問題なさそう。 旧バージョンからの環境移行 1.旧バージョン側で[Change Set]か[Change Sorter]のどちらかを起動、プロ…
問題17 1はone、2はtwo、3はthree...の要領で1000まで書いて、文字数を数える。 "and"の使い方はイギリス英語に準ずる。 ^(1 to: 1000) inject: 0 into: [ :sum :each | | s ar currentSum | s := each asWords. ar := s subStrings: #($ $-). currentSum :=…
一つのエントリでごちゃごちゃ書くんじゃなくて、エントリ分ければいいんじゃん、ということにようやく気がついた。 グレンラガン見た。 アレっぽいなーとかコレっぽいなーとか思ってたけど、実はそれ以外にいろんなものがてんこ盛りだった。 ・途中(2-3部あ…
問題16 2の1000乗の各桁の数値の合計を求める。 ^(2 raisedTo: 1000) printString inject: 0 into: [ :tmp :each | tmp + each digitValue.]. 013と同じ。300桁程度では考えることは少ない。
問題15 20マス*20マスのグリッドの左上から右下へと到るルートは何通りあるか求める。 正直言って、解き方わからない。いろいろ調べてみたら、40C20ということなのでそういうことなら、と結城さんの本を引っ張りだしてきて式に当てはめてみる。 | n k | n :=…
久しぶりに東野圭吾。やたらとあっさりめの短編集。これはこれでありかもわからんね、と思った。
問題14 数値nがあるとき、次のnを ・nが偶数なら、n/2 ・nが奇数なら、3n+1 という式で求めるとすると、すべての数値は1になるかもしんない(なんてことをCollatzが言ったとか言わなかったとか)。 n (チェーンが開始してからは100万を超えてもいいよ) またし…
問題13 50桁の数字が100個あるから、合計値の先頭10桁求める。 | numberList | numberList := #( 37107287533902102798797998220837590246510135740250 ...(略)... 53503534226472524250874054075591789781264330331690 ). ^(numberList sum printString tru…
積みっぱなしだったYsフェルガナを消化。後半きつかった。レベル上げしようにも補正入るからめんどくさい。総合的には面白かったからいいや。 問題12 三角数列のうち、約数の数が最初に500を超えるものを求める。 今回はC#が残ってた。実行してみたら、10分…
問題11 20*20のグリッドについて、たてよこななめにそれぞれ4つずつの数値を取り出して、その積の最大値を求める。 Perlのコードしかなかったので移植。 | table max | max := 0. table := { #(08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08…
問題10 200万より下の素数の合計を求める。 素数来た。最初に書いたコード。 ^((2 to: 2000000) select: [ :each | each isPrime ]) sum. 10分待ったけど帰ってこない。 ^2 + ((3 to: 2000000 by: 2) select: [ :each | each isPrime ]) sum. やっぱり帰って…
問題9 ピタゴリアントリプレットを考えると、a+b+c=1000となるものは1個しかない。そのときのabcの積を求める。 | limit | limit := 1000. (1 to: limit - 1) do: [ :a | (1 to: limit - 1 - a) do: [ :b | | c | c := limit - a - b. (a * a) + (b * b) = (…
問題8 1000桁の数値の中で、連続した5桁の掛け算のうち最大値を求める。 | s max | s := '73167...(略)...63450'. max := 0. (1 to: s size - 4) do: [ :each | | tmp | tmp := (s at: each) digitValue * (s at: (each+1)) digitValue * (s at: (each+2)) d…
もっとMacをいじり倒そうと思って、とりあえずMacPorts入れた。あと、GaucheとGHCもインストール。 問題7 10001番目の素数を求める。 | n seq | n := 3. seq := 2. [true] whileTrue: [ n isPrime ifTrue: [ seq > 10000 ifTrue: [^n]. seq := seq + 1.]. n …