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

Perl関数フックの実現

EB::Hooksetのmagic_extにhookset_obj構造体を入れる。 Perl関数でフックするときにフック関数 eb_text_hookを呼び出し、その中でPerl関数を実行して、返り値を書き込む。 EB.XSの一部 typedef struct hookset_obj_struct { EB_Hookset *hookset; AV *functi…

EBLibraryのPerlバインディングを作った

言語処理の研究で辞書を使う機会も多いので、 XSの練習も兼ねてEB LibraryのPerlバインディングを作ってみた。 Appendix は未実装。とりあえずEPWINGを使いたかったので。まだ、とりあえず動くレベル。 EBLibraryのRubyバインディング http://rubyeb.sourcef…

ターミナルで”Google”をカラー表示

まず、ANSIColor.pmを作る。 package ANSIColor; use strict; use warnings; use base 'Exporter'; use constant { # foreground color BLACK => "\033[30m", RED => "\033[31m", GREEN => "\033[32m", YELLOW => "\033[33m", BLUE => "\033[34m", PURPLE =>…

まとめて記述

まとめて記述するために抑えておくべき基本技 qwを使う my @array = qw(a b c d e f); # ('a','b','c','d','e','f') my %hash = qw(a 1 b 2 c 3 d 4); # (a => 1, b => 2, c => 3, d => 4) 「n..m」を使う my @array = 1..100; # (1, 2, ..., 100) for my $i…