2011-04-01から1ヶ月間の記事一覧

CSharp:コンボボックスとコンボの内容検索用テキストボックス

いまさらWindows FormsとC#2.0自分で再利用するため晒しておく。 コンボボックスに表示用の文字と対応するコードを割り当て、 テキストボックスでその内容を検索できるようにするクラス。ComboAndTextBoxBinder.cs using System; using System.Collections.G…

Node.js:数値を右詰にしてファイルに書きだす。

Go-langはプログラムするには楽しいけど、gdbでスライスの中身を printできないとかデバッグ環境がいまいちだったり・・・(私だけ?) なのでGoはお休みしてNode.jsを試してみることにした。 単純に数値をファイルに書き出すだけの処理。 右詰めで出力でき…

Node.js:npmのインストール

npmのインストールメモ curlが入っていないなら入れる(sudo port install curlで行けるかな?) 私はすでに入っていたので省略sudo curl http://npmjs.org/install.sh | sudo sh の後にsudoを書くのを忘れずに。

Go-lang:ファイル一覧の表示

ls | catに似たような形式でファイル一覧を表示する。 path.Matchを使い、ワイルドカードが使用できる。hello.go package main import ( "fmt" "io/ioutil" "flag" "os" "path" ) // 指定されたファイル名がディレクトリかどうか調べる func IsDirectory(nam…

Go-lang:読み込んだ文字列を大文字で表示

読み込んだ文字列を大文字に変換して表示するだけのプログラム flagパッケージとioutilの使い方テスト(hello.go) package main import ( "fmt" "io/ioutil" "flag" "os" "strings" ) func main() { var fileName string // コマンドライン引数で"-f=fileName…

Go-lang:関数リテラルとマップ

マップはハッシュテーブルと呼ばれるデータ構造。 関数リテラルは関数を変数と同様に扱うようにしたもの。 C#で言えばデリゲート。Cで言えば関数ポインタ。hello.go package main import ( "fmt" ) // 関数リテラルの型宣言 type FindFunc func(key,value st…

Go-lang:関数の戻り値とrange

関数の戻り値には複数の変数を記述することができる。 rangeは値を一つずつ取り出しブロック内でその値を参照することが可能。hello.go package main import ( "fmt" "math" ) // 最大値と最小値を返す関数 戻り値は引数の後に記述する。 func MaxMin(ary []…

Go-lang:構造体とメソッド

複数の変数を一つにまとめて扱いたい場合、構造体を宣言する。 構造体に含まれる変数に関連する処理を行うものをメソッドと呼ぶ。hello.go package main import "fmt" // keyとvalueをKeyValue型として型宣言する。 type KeyValue struct { key string value…

Go-lang:配列型とスライス型

配列型は値が順番に並んでいるイメージ。スライス型は値の参照(ポインタ)が並んでいる。 例えば、行列に人がそのまま並ぶのが配列型。スライス型は行列の代わりに順番を記述した整理券を配っている(並んでいる)イメージ。整理券には実体である人がいる。he…

Go-lang:変数宣言と初期化

varで変数の宣言を行う。=に続いて値を記述することでその値で初期化される。hello.go package main import "fmt" func main() { var x1 string // 初期値なし変数宣言。デフォルト値で初期化される。 var x2 int = 100 // 整数で初期化。型を明示 var x3 = …

Go-lang:ブロック

ブロックは{}括弧で括られた部分hello.go package main import "fmt" func main() { x :="hello,1\n" { x:="hello,2\n" fmt.Printf(x) // ブロック内の変数の内容を表示 } fmt.Printf(x) // ブロック外の変数の内容を表示 } ~ $ 6g hello.go ~ $ 6l hello.6 …

はてブ使ってみた

はてブでソーシャルブックマークとやらを試してみる。 これでいいのだろうか? はてなブックマーク - emucyoのブックマーク

拡張子.goのメジャーモード切り替え

http://blog.livedoor.jp/tttzq/archives/65261651.html上記を参考にして、~/.emacs.d/にgo-mode-load.el, go-mode.elをコピー.emacs(.el)に以下を追加 (add-to-list 'load-path "~/.emacs.d" t) (require 'go-mode-load) (setq auto-mode-alist (cons (cons…

MacPortsでwgetインストール

MacPortsがあれば簡単>sudo port install wget (snip) > wget --versionGNU Wget 1.12 built on darwin10.7.3.(snip)

MacPortsでgdbインストール

>sudo port install gdb/opt/local/bin/にインストールされる。 fsf-gdbという名前なので注意。 2011/4/22現在のバージョンはgdb7.2。 go-langの6g,6lでビルドされる6.outを認識できる。>fsf-gdb 6.out GNU gdb (GDB) 7.2 Copyright (C) 2010 Free Software …