プライベート変数

__spam 形式のマングリングが気に入らないから、
__getattribute__() や __setattr__() だのを使ってプライベート変数を実現しようと遊んでたけど。


そういえば Javascript でも似たよーなのあったなと思いだし、適当に書いてみた。
そしたら動いた。


こんなことも暫く思いつかなかったなんて……。
はふん!!

続きを読む

.vimrc 覚え書き

自分用。
Vim はやっぱ難しいわね。
hjkl とか移動コマンドは好きすぎるけど、如何せん慣れないわ。

set nocompatible

set autoindent
set backspace=indent,eol,start
set encoding=utf-8
set expandtab
set fileencodings=cp932,euc-jp,iso-2022-jp
set fileformat=unix
set foldclose=all
set foldcolumn=2
set foldenable
set formatoptions=t,c,r,o,q,2,v,b
set highlight="8:SpecialKey,@:NonText,d:Directory,e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,r:Question,s:StatusLine,S:StatusLineNC,c:VertSplit,t:Title,v:Visual,w:WarningMsg,W:WildMenu,f:Folded,F:FoldColumn,A:DiffAdd,C:DiffChange,D:DiffDelete,T:DiffText,:SignColumn,B:SpellBad,P:SpellCap,R:SpellRare,L:SpellLocal,+:Pmenu,=:PmenuSel,x:PmenuSbar,X:PmenuThumb"
set hlsearch
set icon
set incsearch
set list
set listchars=eol:$,tab:->,trail:-,extends:>,precedes:<
set number
set numberwidth=4
set ruler
set rulerformat=%l,%c
set shiftwidth=4
set showcmd
set smartindent
set smartcase
set smarttab
set tabstop=4
set whichwrap=b,s,h,l,<,>,[,]
set wrap

set nofsync
set nolinebreak

syntax on
filetype on
filetype indent on
filetype plugin on

nofsync は colinux から Windowsファイルシステム上へ書き込みを行うとき用。

ソフトバンク 923SH での文字サイズ

font-size の文字サイズへの影響の仕方を、実機で試してみた。


923SH (他の機種は知らない) では、文字のサイズが 8 段階ある。
便宜的に、そのサイズを $1 (最小) 〜 $8 (最大) と表記する。


更に、携帯ブラウザ側でも文字サイズの 7 段階の設定ができる。
小さいほうから順に [最小] [小] [やや小] [中](標準) [やや大] [大] [最大] である。


以上を踏まえた上で、 font-size の値と、使われるサイズを表にしてみた。


px 指定

設定 $1 $2 $3 $4 $5 $6 $7 $8
最小 -16 -21 -26 -32 -43 -55 -66 67-
-10 -13 -17 -21 -28 -35 -42 43-
やや小 -8 -11 -14 -17 -23 -29 -35 36-
-6 -8 -10 -13 -17 -22 -26 27-
やや大 -5 -6 -8 -10 -14 -17 -21 22-
-4 -5 -7 -8 -11 -14 -17 18-
最大 -3 -4 -5 -7 -9 -11 -14 16-


ブラウザ相対指定

設定 $1 $2 $3 $4 $5 $6 $7 $8
最小 xx-small - medium large x-large xx-large - - - -
xx-small x-small small medium large x-large xx-large - -
やや小 xx-small x-small small medium large x-large xx-large -
- xx-small x-small small medium large x-large xx-large
やや大 - - xx-small x-small small medium large x-large xx-large
- - - xx-small x-small small medium large - xx-large
最大 - - - - xx-small x-small small medium - xx-large


頭痛いわ……。

クロージャ採用ですって!

http://news.php.net/php.cvs/50908

うっはー信じられぬ。
ざっと見たところ、大抵のことは出来てる模様。


コンパイル時のテスト内容を引用して、仕様を確認してみる。

  • Closure 001: Lambda without lexical variables
  • Closure 002: Lambda with lexical variables (global scope)
  • Closure 003: Lambda with lexical variables (local scope)
  • Closure 004: Lambda with lexical variables (scope lifetime)
  • Closure 005: Lambda inside class, lifetime of $this
  • Closure 006: Nested lambdas
  • Closure 007: Nested lambdas in classes
  • Closure 008: Use in preg_replace()
  • Closure 009: Use in preg_replace()
  • Closure 010: Closure calls itself
  • Closure 011: Lexical copies not static in closure
  • Closure 012: Undefined lexical variables
続きを読む