トップ «前の日記(07/04/2003) 最新 次の日記(07/06/2003)» 編集

本 日 の h o g e

hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。

更新情報の取得には rdflirs を使ってもらえると嬉しいです.


07/05/2003 なmあzみだぶつ [長年日記]

tDiary 254日目

[日記][ソフト] なまず

cronがちゃんと動いてなかった.コマンドをフルパスで書いてませんでした.ゲフー.

[] Stopping Spam

こんな本がオライリーから出てたとは.

[音楽] マリオ

俺の着メロがコンプされてら.…いやどっちかってーと俺がマリオの音楽コンプしたのか.どっちでもいいや.それにしても,このアンカーの「smbros」って狙ってんのかな? SMブラザーズ.

しかし魂斗羅は懐かしすぎる.

from 今日のなんでやねん

[ニュース] ハードウェア改造不要のXbox Linux起動方法が公開される

ありゃま,結局MSからは良い返答もらえなかったのね.当り前だけど.

[ソフト] UTF-8 decoding error

何やら ninix-aya の CVS版が,天気予報や bottle からの情報を喋ろうとすると UTF-8 decoding error: invalid data とか吐いて死亡するようになった.内部の文字コードが変わったとかかなぁ?

[小ネタ] 遊覧船がホットスポットになると?

どわぁ! 見覚えのある風景が….

[小ネタ] FSSガレキ

ひえー,ようやるわ.でもちょっと欲しい.

[ソフト] tDiary

久しぶりに cvs up したら挙動が怪しくなってら.00default.rb がエラー出してたので古いやつに差し替えたら動いた.でもupdate画面の「登録」ボタンの横に空白のボタンが…これ何?

あ,よく見たらプレビューとか再編集の画面がなくなってら.うはー.やっぱ俺みたいなヘタレはリリース版使った方が無難かもなぁ.

i18nとm17n

恥ずかしながら今まで知りませんでした.しかし18とか17って数字の意味はいまだ分からず.

[小ネタ][ダメ] パンスト当選

ちと古いが.

それにしても,いくらエロゲ(だよね?)とはいえ,開発中になぜパンストをボロボロになるまで「使う」のか…?

[小ネタ] 横浜が勝てません

404シリーズ.しかしWinじゃないとこのフォーマットにはならないからなぁ.

おぉ こんなの もあった.

[小ネタ][ダメ] なんじゃこりゃ….

何かと思ったら着せ替えとは…マニアックな.しかしスゲーな,最近のエロゲ会社はこんなんまで作ってマーケティングしてるのか.

[小ネタ] ざざむし

虫が更新されてた.相変わらずすさまじい….

[Bash][Tips] もしも…

Bash はプログラム言語の三つの制御構造を満たしている.三つの制御構造というのは

  • 逐次実行
  • 条件分岐
  • 繰り返し構造

の三つだ.逐次実行とは上から順番に処理を実行していくというルールで,条件分岐は「もし○○が××なら△△を実行する」というような命令,繰り返し構造は「□□が▽▽を満たすようになるまで◎◎をし続けろ」というような命令のことだ.

で,今回のはこの条件分岐.これ Bash ではこれを if 〜 then 〜 else 〜 fi で表現する.簡単な例を見ると,次のような感じだ.

$ if [ "${HOGE}" = "hoge" ]; then echo '$HOGE is hoge'; else echo '$HOGE is not hoge'; fi
if [ "${HOGE}" = "hoge" ]
then
echo '$HOGE is hoge'
else
echo '$HOGE is not hoge'
fi

上記2つの例は全く同じものだけど,さてこれが何を意味するかというと,$HOGEhoge という値が入っていた場合に echo '$HOGE is hoge' を実行し,そうでない場合は echo '$HOGE is not hoge' を実行する.また,else以下の文は省略可能で,いらないならいらないで書かなくても良い.

if [ "${HOGE}" = "hoge" ]
then
echo '$HOGE is hoge'
fi

条件を複数設けたい場合は elif 〜 then 〜 を繰り返す.

if [ "${HOGE}" = "hoge" ]
then
echo '$HOGE is hoge'
elif [ "${HOGE}" = "foo" ]
then
echo '$HOGE is foo'
elif [ "${HOGE}" = "bar" ]
then
echo '$HOGE is bar'
else
echo '$HOGE is not hoge'
fi

これで,$HOGE の値が hoge であれば,foo であれば,bar であれば…という感じに順番に条件を評価していくことができる.また,if文ではどれかの条件がヒットした段階でその if 〜 fi の文を抜ける.

ちなみにコマンドが返す値を評価して,結果に応じた処理をさせる,なんて場合にも使える.

$ cat > hoge.txt
foo
bar
baz
hoge
boo
huga
piyo
hemo

$ if grep hoge hoge.txt > /dev/null ; then echo "hoge in hoge.txt"; fi
hoge in hoge.txt

$ if grep buge hoge.txt > /dev/null ; then echo "hoge in hoge.txt"; fi
$

あと,意外と知られていない(使われてないだけ?)使い方として,こんなのもある.

$ HOGE=1
$ FOO=5
$ if (($HOGE < $FOO)); then echo "$FOO is bigger than $HOGE."; fi
5 is bigger than 1.

つまり (( )) によって算術評価を行い,結果を if に評価させる.

しかし if はほとんどの場合*1&&|| で置き換え可能なので,そっちを使う方が楽かも知れない.下記のような書き方ができるからだ(シャレじゃないぞ).

$ [ "${HOGE}" = "hoge" ] && echo '$HOGE is hoge' || echo '$HOGE is not hoge'
$ grep hoge hoge.txt > /dev/null && echo "hoge in hoge.txt"
$ (($HOGE < $FOO)) && echo "$FOO is bigger than $HOGE"

*1 elifを使わない場合のこと.

本日のツッコミ(全4件) [ツッコミを入れる]
shy (07/05/2003 17:49)

CVSのninix-ayaは本体の変更にsstp.pyが追いついていない状況です.

atzm (07/05/2003 18:51)

なるほど,そうだったんですか.確かに文字コード変換周りがコメントアウトされたりしてますね.

あかり (07/05/2003 23:44)

今更ですが。
ネタにして頂けるのはうれしいんですが、もすこししらべよーね。

該当ゲームのページに行けば、こだわりの描写ってことで、作画資料なのは一発でわかると思うんですが。。。。

atzm (07/06/2003 00:45)

す,すみません.すごい気合いの入り様ですね….