programming

タプル型、レコード型 (F#)

タプル型の定義とか、レコード型の定義とか。 (* タプル値を定義 *) let tup = (100, "hello") (* タプルから要素を取得 *) let num, str = tup printfn "num = %d, str = %s" num str (* タプル型をプリントする関数 (引数 : 型 * 型) で引数にタプル型を指…

リスト (F#)

関数型言語では特に重要なリスト構造。再帰呼び出しを使って操作するところがミソかな。 (* リストの定義 このように :: でつなげて定義 *) let sample1 = "one" :: "two" :: "three" :: "four" :: [] printfn "%A" sample1 (* カッコを丁寧に付けるとこうな…

関数とか演算子とか (F#)

(* anonymous function いわゆるラムダ式 *) printfn "1 + 2 = %d" ((fun x y -> x + y) 1 2) (* function キーワードによるラムダ式 - function は引数を1つしか持てない - 引数を2つ以上使いたいときは次のようにつなげる - 普通は function ではなくて fu…

識別子とか値とか関数とか (F#)

引き続きF#メモ。 #light (* let キーワードで識別子を設定 - 識別子(identifier) != 変数(variable) - 識別子は値の変更は不可(再定義が出来る場合もある。後述) *) let hello = "Hello" // hello という識別子を定義 printfn "%s" hello // コンソール出…

コメント、コンソール出力 (F#)

F# 勉強中。ちょこちょこメモしていこうかと。 とりあえず簡単なコンソール出力から。 #light // 一行コメント (* 複数行コメント (* コメントの入れ子も出来る *) *) // C言語ライクな printf 文が使える printf "hello printf\n" // printfn を使えば最後…

関数型プログラミングに挑戦してみます

いつからだろう。「何を作るかが大事であって、プログラミング言語は何を使っても同じ。」なんて思い始めたのは。 僕はPaul Grahamのこの記事を読んで、その考えを改めた。 まず、思いっきり物議を醸しそうな発言から始めよう。プログラミング言語は、その力…

彼がFORTRANを提案すると全員がゲーッとなった

こ、これが小学館のクオリティなのか・・・っ! /* f2c.h -- Standard Fortran to C header file */ /** barf [ba:rf] 2. "He suggested using FORTRAN, and everybody barfed." - From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */ #ifnd…

なぜオブジェクト指向は嫌われているのか?

http://alfalfa.livedoor.biz/archives/51079543.html を読んで。だらだらとツッコミ入れる感じのメモ書き。 なぜオブジェクト指向は嫌われているのか? たぶん、これは「坊主憎けりゃ袈裟まで憎い」ってヤツだろーな。予想だけど。「SE憎けりゃオブジェクト…

なぜソースコードは美しくあるべきなのか

Fujiwoさんが「美しいソースコードのための七箇条」というエントリを書かれた。グッジョブです、Fujiwoさん! 「美しいソースコードのための七箇条」というのを考えてみた。 # 取り敢えずの叩き台として。 「美しいソースコードのための七箇条」 (プログラミ…

ブーリアン演算が出来たっ!

やったっ!ブーリアン演算が動いたぞ。 図のようにテキトーな物体が交わるように配置する。・・・今思ったけど、なんかこの物体、「う○こ」みたいだな。まあ気にするな。 上の図だと交わっている様子が分かりにくいかもしれないので、片方だけメッシュのエッ…

イベント処理中にイベントハンドラを削除したらどうなるか

さて問題です。次のコードを実行すると、コンソールには何が表示されるでしょう?もっと言うと、コンソールに "Handler2" は表示されるでしょうか、表示されないのでしょうか。 using System; class Foo { static event EventHandler Event; static void Mai…

ひとりWikiで数式

ひとりWikiっていうソフトがあるんですね。初めて知りました。 本家ページ: http://www2u.biglobe.ne.jp/~MAS/soft/hitoriwiki/index.html 窓の杜紹介記事: http://www.forest.impress.co.jp/article/2005/01/06/hitoriwiki.html そのひとりWikiのプラグイ…

static フィールドの初期化のタイミング

.NET には beforefieldinit というフラグがあることをはじめて知った。 beforefieldinitフラグ - easy work, easy life検索してみると、Insider.NET にも似たような話題が挙がっていた。 「開発環境とEXEとでstatic領域の初期化タイミングがちがう」(1) In…

自分のコードを出力するプログラム

面白いコードを見つけた。自分のコードを出力するプログラム http://www.iba.k.u-tokyo.ac.jp/~yabuki/tip/lisp/self.htmlこのページは主眼はLispなんだけど、恥ずかしながら僕はLispは全然分からない。Lispを理解すると素晴らしい悟りが手に入るらしいので…

C#による実数値の書式指定出力(^o^)

勉強のため&小道具として利用するために作ってみた.使い方: 「書式」に C# の書式指定文字列を入力 「数値」に数値を入力 Enterすると結果の文字列が出力される はい,そんだけです.欲しい(というモノ好きな)人はこちらからどうぞ. つ http://www.geo…

mimeTeXを使ってみた(^o^)

TeXで数式 はてな はTeXで数式が書けるんだね.おおー,素晴らしい.どうやってるんだ?と思ったら mimeTeX というツールを使っていると分かった.これはちょっと面白そうかも. ちょっとダウンロードして動かしてみよう!