どさにっきクラウド 〜2009年4月中旬〜

by やまや
<< = >>

2009年4月19日(日)

無題

_ メガネ屋さんに行ってきた。今使ってるのがレンズのコーティングはがれまくりでヒドいことになってたので。フレームは頑丈そのものなんでレンズ交換だけでもよかったんだけど、せっかくなんて新しいのも作ってみたり。

_ 最近はレンズ込み1万円もしない程度で作れちゃう店も多いし、そういうメガネを使ってたこともあるけど、ダメだ。すぐガタがくるし目が疲れるし。かといってン万もするようなものはボッタクリだと思うんだけど(メガネの利益率の高さは異常)、毎日朝から晩まで使うものだから安物を使うよりはマシ。

_ てゆーかさ、前から主張してるんだけどさ、メガネに健康保険がきくようにしてくれ! こいつがないとマトモな日常生活は送れないんだから、公の支援があってもいいと思うんだがどうよ。せめてレンズだけでもいくらか負担が軽くなるといいんだけど。定額給付金なんぞレンズ代の足しにもならん。


2009年4月20日(月)

printf(1)

_ ascii コードに対応する文字を得るには printf(3) で %c に食わせてやればいい。

% echo 'main(){printf("%c\n",65);}' > hoge.c
% cc hoge.c
% ./a.out
A

_ が、printf(3) をシェルから使うためのラッパーに過ぎない printf(1) ではそれができない。

% printf %c 65
6
GNU の printf(1) はフォーマット文字列の解釈は printf(3) と同じと man にはっきり書いてあるので、そのように動作しないこの挙動はおかしい。FreeBSD の printf(1) は man をよく読むとしっかり「引数の先頭文字」と書いてあるので、不可解ながらもそれが仕様だと納得はできる。まあ、GNU の方も単純に man の不備なんだろうけど、となると %c の変換に相当することをシェルからおこないたくてもその方法がないことになる。引数の先頭文字なんてほかにいくらでも方法があるんだから、printf(1) でできなくてもちっとも困らないのに。まあ文字コード変換だって使う機会なんてまずないだろうから困ることはないだろうけど。

_ ちうか、似たことはあなごるで何度かやったような気がしなくもない。あれどうやってたんだっけ? 記憶違いかな。


<< = >>
やまや