2007-01-01から1年間の記事一覧

予約語

break else new var case finally return void chatch for switch while continue function this with default if throw delete in try do instanceof tpeof 将来のために予約されている語もある: abstract enum int short boolean export interface static…

演算子

当たり前のものは省略。 インクリメント(++)/デクリメント(--)。前置と後置。 論理演算子: !/&&/||。not/and/or はない。 ビット演算子: &(論理積)/|(論理和)/^(排他的論理和) シフト演算子: >(右算術シフト)/>>>(右論理シフト)。…

'===' と '=='

'===' は型も含めて同一でなければ true にならない。 '==' は型が違っても構わない。たとえば,数値の 10 と文字列の "10" が true になる。 var n = 10; var s = "10"; with(document) { write("n = ", n, " ; type: ", typeof n, "<br>") write("s = ", s, " …

故あって JavaScript に手を出す

基本事項。 大文字と小文字を区別 ステートメントの終わりにはセミコロン; // 行末までコメント /* 複数行のコメント */ スクリプトは script タグで囲む。 JavaScript を認識できないブラウザのために, で囲む(HTMLのコメント扱い)。 <script language="javascript" type="text/javascript"> …

文字列を空白で区切る

テキストファイルから入力を受け付ける時にはよく使う。あとはカンマ区切りなんかも。 import Data.Char splitBy :: (a -> Bool) -> [a] -> [[a]] splitBy p [] = [] splitBy p xs = a : (splitBy p $ dropWhile p $ b) where (a, b) = break p xs splitBySp…

リストによる正方行列(つづき)

cf. 今日の一行 - リストによる正方行列処理週をまたいでしまった。解答例もでてるけど。 問題3。これも内包表記で。 boxing :: [[a]] -> [[a]] boxing m = [[m!!x!!y| x <- [0..l1], y <- [0..l1], x`div`l2 == i, y`div`l2 == j] | i <- [0..l3], j < - […

パターンの回転

パソコン甲子園というのを見つけた。 プログラミング部門の問題が公開されてるので(↓)ちょっとやってみよう。 http://www.pref.fukushima.jp/pc-concours/common/2006honsen.pdf正方行列つながりってことで問題01。 8文字×8行のパターンを右回りに90度、18…

内包表記

こういうのもできるのか。 Prelude> [x| x <- [0..3], y <- [0..3]] [0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3] Prelude> [y| x <- [0..3], y <- [0..3]] [0,1,2,3,0,1,2,3,0,1,2,3,0,1,2,3]

リストによる正方行列

cf. 今日の一行 - リストによる正方行列処理問題1。 matrix n = [[x+(n^2*y)| x <- [1..n^2]] | y <- [0..n^2-1]] *Main> matrix 2 [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]] *Main> matrix 3 [[1,2,3,4,5,6,7,8,9],[10,11,12,13,14,15,16,17,18],…

クラスはよくてもモジュールは?

いままで気にしたことなんて無かったけど……cf. Matzにっき - jijixi's diary - Ruby の文法的欠陥 cf. じじぃの日記、ツッコミ可 - Ruby の文法的欠陥 jijixiさんのいう”欠陥”(というと言いすぎのような気もする,といっているけど)というのは 『新しいク…

ファイル入力か標準入力

引数が与えられたらそれをファイル名と見なしてファイルを読み込み,与えられなければ標準入力から読み込む。いわゆるフィルタとしても働くプログラム。こんな感じでいいか? module Main (main) where import System main :: IO () main = do args <- getAr…

loop の列挙

cf. 今日の一行 - loopの列挙 trail はすでにたどったノードのリスト p と次にたどるノードの候補 q を受け取って,全ての経路を列挙する。「次のノード」がスタートと同じならそこでそのループは終わり。違うなら再帰的にノードをたどる。 各ノードは比較さ…

文字列の中央詰めを length を使わずに短く書けるだろうか?

via 毎日Haskell - 2006-12-28 文字列の左詰、右詰 cf. desumasuの日記 - Rubyの文字列操作関数をHaskellで定義する length を使わずに書けたけど,短いとは言い難い。 ljust(左詰)と rjust(右詰)が定義されてるとして center :: Int -> String -> Strin…

lighttpd (for Windows) に触ってみた(2)

昨日(id:takatoh:20070111:lighttpd) のつづき。 ファイルのリスト( mod_dirlisting ) URL がディレクトリを指して,かつインデックスファイルが見つからない場合に,ディレクトリ内容のリストを表示する機能。mod_dirlisting モジュールは server.modul…

lighttpd (for Windows) に触ってみた

ので,メモ。cf. http://www.lighttpd.net/ (公式サイト) cf. ぱるも日記 - Windows で lighttpd を使う ダウンロード ↓ダウンロードはここから。バージョンは 1.4.11。 http://blogs.windowsnetworking.com/wnadmin/2006/09/22/lighttpd-web-server/公式…

ISBN規格改訂

1月1日からISBN(国際標準図書番号)が変わったという話題。via ぷわぷわのあかしろ - ISBN cf. 日本図書コード管理センター - ISBN規格改訂のお知らせそういえば昨日買った本のISBNは13桁だった。 そうか,チェックデジットの計算方法も変わってるのか。 で…