2008/04/07


なんか「入れろ!」と言われた気がしたので入れました。vimperator pluginデビュー?

まぁ大したものではないですが...
hatenaStar.js

使い方は :hatenastar もしくはノーマルモードから「,?s」です。カウントが使えますからotsune氏の記事に10個はてなスターを付けたかったら「10,?s」とすればよし。

ま、vimperatorはちょっと変態的なので常用するかはこれから決める。
Posted at by



2008/04/04


なんかFirefox3 Beta5でGoogle Readerの記事表示部が真っ白け。
原因がFirefox3 Beta5にあるのかGoogle Readerにあるのか分かんないけど、どうやら記事表示部のスタイルシートで'100%'となってる部分が問題みたい。
独自のCSSを当てるか、以下のような限定パッチ用グリモン入れれば直る。
// ==UserScript==
// @name           fix broken 'Google Reader' on Firefox3 beta5 2008/04/04
// @namespace      tag:mattn.jp@gmail.com,2008-03-25:/coderepos.org
// @description    fix broken 'Google Reader' on Firefox3 beta5 2008/04/04
// @include        http://www.google.com/reader/*
// ==/UserScript==

(function(d) {
    apply_fixed_style = function(c) { if (c) { c.style.width = '99.9%'; } }
    apply_fixed_style(d.getElementById('viewer-box-table'));
    apply_fixed_style(d.getElementById('search-item-box-table'));
})(document);

あと、Google Reader Full Feedも動かなくなってる。修正してCodeReposにcommitしておいたので、「動かない!」って人は更新して下さい。
googlereaderfullfeed.user.js
暫定的な処置なので、落ち着いてから再度検討し直します。
Posted at by




たぶん「ポインタ変数はポインタ型」で「配列変数は配列型」というイメージが持てないから。
C/C++のポインタの機能--変数の場所(アドレス) - builder by ZDNet Japan
int *n;
*n = 5; /* ポインタ変数nに値5を代入 */ 
現在は本文が修正されています。

C/C++のポインタの機能--配列との関係 - builder by ZDNet Japan

ポインタ変数と配列との深い関係を表す例を示そう。それは、配列の変数名をそのままポインタ変数名として扱えるということだ。


たぶん int *n;
こう宣言するから *n = 5;
こうしたくなる訳で int* n;
こう宣言すれば、もしくは typedef int * int_ptr
こうしておいて int_ptr n;
こう宣言すれば *n = 5;
こんな事が間違ってる事に気付くかな?
int m[] = {1,2,3,4};
int *n;
n = m;
ここでいうnへのmの代入は、mの先頭アドレスをnが指しているだけなのです。ポインタは「指し棒」!配列はメモリのかたまり!
※最近のC言語の本って「先頭アドレス」って表現あまり見ない気がする。

ちなみに、間違っても char* n, m;
m = "Hello, World";
とか #define char_ptr char *
...
char_ptr n, m;
m = "Hello, World";
しちゃ駄目(typedef使ってね)。

ちなみに...
char *s = "abc";
char s[] = "abc";
の話も前者が「ポインタ型」、後者が「配列型」と考えればいい。
つまり typedef char char4[4];
char4 n = "abcef"; // char[4]型変数をchar[6]で初期化
こうすると、コンパイラによっては警告出力してくれる訳です。
Posted at by