そういえばいつの間にか禁煙してから 1 年が過ぎていました。
マルボロメンソールを一日あたり平均 15 本吸っていたとし、 単純計算してみました。
(15 / 20) * 330 * 365 = 90337.5
おー 9 万円も浮いたのかな。これはご褒美に何か買おうかなあ。
やめて特に願うことは、食事処の分煙化がもっと進んで欲しい。
タバコを吸っていたときは、自分の口がタバコの臭いにまみれていたため 匂いに気づきませんでした。臭ってくると気分が滅入ります。
臭いを嗅がせてしまっていた人ごめんなさい。
そういえば都内で寄ったモスバーガーはすべて部屋が分煙化されていました。すばらしい。
もっと色々な企業が取り組んでくれることを期待したいです。(特に居酒屋がやってほしいなあ・・・)
ちょこちょことサンプルコードを書いていたら、 private なクラス メソッドが Ruby では外部から呼び出しができてしまいました。
こんなコード。
class Hoge
private
def self.hello
"Hello."
end
def huga
"Huga."
end
end
puts Hoge.hello
puts Hoge.new.huga
Hello. access.rb:13: private method `huga' called for #<Hoge:0xb7c74964> (NoMethodError)
よく分からなかったので、先日購入したプログラミング Ruby を見てみました。
private は明示的なレシーバを指定して呼び出せず、 レシーバは常に自分自身 (self) です。
レシーバとは . (ピリオド)の前の部分とのこと。
Java と C# で書いてきたので違和感を感じてしまうなあ。 たくさん書いてはやく違和感をなくしたいと思います。
[追記:] private_class_method :hello と指定することでクラスメソッドを private にすることができました。
Math.max.apply(this, [4, 7, 2, 1]); // 7
こんな感じのコードをみて最初何してるの?と思いました。
適当に WEB で調べてみると arguments がキーになりそう。
function foo() {
return arguments;
}
foo.apply(this, [1, 5, 3]); // [1, 5, 3]
foo.call(this, [1, 5, 3]); // [[1, 5, 3]]
foo.call(this, 1, 5, 3); // [1, 5, 3]
call で呼び出した場合は、可変長に渡した引数が arguments として正しく理解されています。
動的に引数が変化するものを許可する関数(今回でいえば Math.max)を作成したい場合には、 arguments から引数をとり、 apply で呼び出すようにコーディングすればいいのかな。
call は引数が静的なため処理、特に無名関数を利用した軽いインターフェースに利用しそう。(呼ばれる)
function foo(func) {
func.call(this, "Hello!");
}
foo(function(message) {
window.alert(message);
}
apply はユーティリティ的な関数。(呼ぶ)
call と apply の使い方(呼ばれる、呼ぶ)は自分の勝手なイメージです。
何はともあれ少しだけ理解が深まりました。
本家 Putty では右 Alt キーが効かない。
http://yebisuya.dip.jp/Software/PuTTY/
右 Alt を有効にするパッチを当ててくれているんですね。
[端末]-[キーボード]-[右Altを右Altのまま使う]にチェック。
ありがたく使わせてもらいます。
以下自爆。
変えた後に putty 上の Emacs の挙動がおかしい。 というか Ctrl キーからのコマンドを受け付けていない。
。。。
XKeymacs の対象プロセス名が変わっていることに気づきました。
putty.exe が XKeymacs の対象になってしまっただけなので、 あらためてプロパティから無効にし動作も正常になりました。
PHP を久しぶりに動かしてみたところ
PHP Warning: Module 'PDO' already loaded in Unknown on line 0
なんて警告が出るようになってしまいました。
このエラーをググってみたところ extension の定義が重複していると出るとのこと。 少し探してみたところ /etc/php5/conf.d/pdo.ini に 以下の記述が見つかりました。
# configuration for php PDO module extension=pdo.so
/etc/php5/cli/php.ini (apache 含む)にある記述と見事に重複しています。 pdo.ini のほうをコメントアウトにしてみたところひとまず警告が出なくなりました。
Ubuntu のバージョンアップでいつの間にか更新されてしまったのか、 パッケージによる更新によるものなのか不明。
こういう情報を集められないのが駄目だなあ。
初めて 2weeks の使い捨てコンタクトに変えてから、 現在装着しているコンタクトで最後なため眼科へ。
3 ヶ月分で 6000 円ぐらい。通販の安さに少し惹かれてしまいます。
1 day はどうなんでしょうね。手入れをしなくてすむっていうのは 大きなメリットに感じてしまいます。
次のときにでも相談だけでもしてみよう。
そういえば今回自分が診察を受ける前に、診察を受けてる人が目(網膜)に 傷をつけてしまったらしく、治療による痛みからか涙目。
また診察室から医者の声が聞こえてきて、その内容に少し精神的ダメージ。
目を大切にしていくためにも定期検査と併せて購入していこうと思います。
本家作者さんの事情により円マークが別の文字に割り当てられているようです。
前回からごった煮版を使わせてもらっているわけですが、 こちらのほうでも、回避する設定を用意してくれていました。
[ウィンドウ]=>[変換]=>[文字コード5cをそのまま使う]
これにチェックをつけることで円マークが表示されるようになりました。
すでにセッション一覧に登録しているものは、一度 セッション一覧から読み込んでから設定し保存します。
[追記:] ノート PC の Putty だと特に設定しなくても、通常通り円マークが 表示されてました。うーん。。。まあいいや。