2009年06月11日

シングルクォテーションとダブルクォテーション

ひさしぶりの技術ネタ。とは言え、かなり初心者向けネタ。某起業家向けMLへは転送しません。

他の言語のことはひとまず置いておいて、PHPにはシングルクォテーション(以下、「'」と記す)とダブルクォテーション(以下、「"」と記す)に対する考えがあります。

JavaScript も一緒か。。。まぁ、他の言語のことはひとまず置いておいて。

「'」も「"」も文字列をくくるのに使われますが、それぞれの使われ方がちょっと違うのです。

違いを一言で言うと

シングルクォテーション「'」は中身をそのまま出力します。
ダブルクォテーション「"」は中身を解析します。

例えば

下記のような文字列の値を持つ変数があるとします。(変数って何?と言う説明は割愛します)

$str = "月曜日";

これを

echo '今日は $str です。';
echo "今日は $str です。";

とすると、前者は

今日は $str です。

と出力するのに対し、後者は

今日は 月曜日 です。

と出力します。違いがわかりますでしょうか?

シングルクォテーション「'」は中身をそのまま出力します。
ダブルクォテーション「"」は中身を解析します。

わかったかな?

解析するのでその分若干ながらも処理に時間がかかります。人が直感的に気付くほどでは無いとはいえ、チリも積もれば、と言う考えから私は必要で無いところは極力「'」を使用します。

ところが処理に必要が無くても「"」を使わなければいけない時があります。

echo 'It's Monday.';
echo "It's Monday.";

この場合、後者を使わなければなりません。何故なら前者では

echo 'It'

で文字列が完結してしまい、

s Monday.'

はプログラムが解析できないのでエラーになってしまうからです。

そこが「'」の致命的な弱点です。

「"」にはその致命的な弱点がありません。

何故なら

echo "He said "Hello" to you.";

は確かに

echo "He said "

で文字列が完結してしまい、

Hello" to you."

はプログラムが解析できないのでエラーになってしまいますが、

「"」にはエスケープ機能があるのです。エスケープ文字は「\」です。

エスケープ文字とは、プログラムが通常はプログラムの一部として解釈する記号を「解釈しないで!!」とプログラムの一部から脱出(=エスケープ)させる機能を持ちます。

なので、このコンテキストでは

echo "He said "Hello" to you.";

echo "He said \"Hello\" to you.";

とすることによって通常は「"」を文字列の始まりと終わりとして解釈することをエスケープ文字で脱出、エスケープさせることができるのです。(エスケープしたい文字の直前に記述する必要があります)

なので、これでエラーにならずに

He said "Hello" to you.

と出力されるようになります。おわかりになりましたでしょうか?

「'」の致命的な弱点に戻りますが先程のエラー、

echo 'It's Monday.';

echo 'It\'s Monday.';

としても

It's Monday.

とはならず、

It\

と「\」も加えて出力され、基本、エラーのままです。

何故だかわかりますか?

そう、冒頭の説明に戻るように「'」は中身をそのまま出力するからです。「\」をエスケープ文字と解釈することすらできないのです。

なので、私は「'」の弱点を充分承知した上で、微々たるパフォーマンス向上と極力無駄を省きたい、と言う理由に「'」を沢山活用し、「"」と使い分けています。

そう言えば JAVA の volatile の説明で似たようなこと書いてあったな。。。「JAVA と PHP を一緒にするな!」、何なんでしょう、頭の中で全世界から叫び声が聞こえてきました。

PHP はスクリプト言語なのでその辺のパフォーマンスも考慮に入れる必要があります。冒頭で JavaScript も一緒、と書きましたが JavaScript は変数の解析はできませんね。PHP だけでは寂しいので残しておきます。

最後に、エスケープ文字「\」は「"」をエスケープする時以外にも使いますのでとりあえずこちらも覚えておきましょう。

とまぁ、以上が業務連絡です。メールにすると長いし、折角なのでブログの記事にしてみました。



広ブロっち♪ d(^-^)

2009年05月31日

間引き

妻にガーデニングの間引きを頼まれる。

間引きとは、隣り同士に育っている芽の一方を引っこ抜くことを言う。そのままにしておけばお互いがお互いの成長を邪魔し合って両方が駄目になってしまう。

それも悲しいかな、どちらかと言うと芽が出始めた方を引っこ抜く。先に育っている方は既に実績があるわけだ。芽が出始めた方がこれからも順調に育ち続けるとは決して限らない。

間引かれる方も少なくともそれまではチャンスをもらえていたわけだから、結局そこは実力社会、恨みっこなし&チャンスをくれてありがとう、と思えるのが理想のように思う。

色々と考えさせられながら淡々と間引き作業を行う。多分100人が間引きを行ったら100通りの間引き方があるんだろう。選択、決断、行動、と言う細かい作業の繰り返しが小さな鉢の上で刻まれていく。

土をいじっていると人間社会にも照らし合わせて考えさせられることが多い。土いじりには生命の哲学、と言う栄養素がふんだんに含まれているんだとつくづく思う。

余談の余談だがパーマカルチャーの紹介を妻にしたのが半年程前、今やベランダから室内の窓際はガーデニングで緑だらけ、彼女の行動力にはいつも頭が上がらない。

余談のもう一つの余談だが、GWはあっと言う間に過ぎ去り、GW中にやりたいことも全部やりきれず、3割程が「GW中にやりたいことリスト」から「それでもいずれはやらねばリスト」に名を変えて残タスクとして残っている、と言うエントリーを書くつもりでいたがそれすら書けずに今に至っていた。

百一姓以前に一姓一姓をコツコツしっかりやり遂げていかなければならない。



広ブロっち♪ d(^-^)

2009年05月03日

訃報&やりきる

忌野清志郎さん(以後、「清志郎」と言う)死亡、あまりにも多くの人に悔やまれる死ではないだろうか。むしろ、どうせもう死んじゃったんだ、生き返ってきやしない、どうせならもっともっと多くの人に悔やんでもらいたい。

言うまでもない、RCサクセションのヴォーカリスト、清志郎についての説明は割愛する。検索すればネットは情報の宝庫だが、清志郎のバンドについて「自称パンクなバンドの数百倍パンクだ」と言うコメントが個人的には一番しっくりくる。

実際私自身、青春期をアメリカで過ごしたことを言い訳に、清志郎のファンだったことは一度も無かった。もちろん存在は知ってはいた。そんな私にとっての悔やみはもっともっと昔から(FM東京事件あたりから?)彼のファンになっておくべきだったことだ。

もっと昔から、もっとファンになっていたなら私の人生ももっと違っていたかもしれない、とまぁ、悔やみの中だけの話ではあるが、色々と青春時代も兼ねてフラッシュバックも起こるそんなタラレバな一時。心からご冥福お祈り申し上げます。

それでも清志郎は人生やりきっただろう(ここから徐々に別の話に入る@ハーフタイム)。まだまだやりたいことはあったかもしれないだろうけど、彼が今までやってきたことはどの瞬間で人生の終止符を打っても悔いの無いぐらいに1つ1つのことをやりきってきたと思う。ファンでもない私が言うのもなんだが。。。

と言うのも丁度そんなことをテーマにブログを書こうと思っていた矢先での訃報だった@後半スタート。

先日ある知人が「何をやっても飽きる」みたいなことを言っていた。

「それはねぇ、あんたが何をやっても中途半端だからだよ」と私は答えた。

気持ちが中途半端だから中途半端なところで飽きるんだと思う。加えて言うとそれは仕事についての話だったんだが、元々「仕事」は「楽しい」が根底にあって成り立っているモノではない。「人が必要としている」と言うのが根底にあり、そこには「辛さ」「難しさ」「面倒くささ」「汚さ」等、「楽しさ」の真逆の要素も沢山混じっている。

それでも仕事をやる上で「楽しさ」を感じ取れるきっかけの1つは「一所懸命やる」と言うところにあるんだと思う。何事もやりきればそれなりに楽しさは必ずあると思う。例えて言うと山の頂上に登りついたような楽しさかな。

もちろん「一所懸命やる」には「自分の意志で」が頭にあることが大前提だが。

実際彼の方が遅い時間まで仕事するタイプなので夜に強くない私に言われるのも心外かもしれない。只、1つだけ言わせてもらうと私は今やっている仕事も好きだし、全てのことには言い切れないにしても「何をやっても楽しめる」要素は彼よりは強いように思う。

決して自慢で言っているわけではない。むしろ、それが当たり前のように思ったりもする。昔もブログで書いたような気がするが、一見嫌だと思っている今の仕事も、一度手を止めてみて、一旦落ち着き、一歩下がったところから全体像を見直してみて、気持ちを切り替え、改めて、もっと好きになれるよう一所懸命取り組んでみるもんだと思う。

そうすることによって初めて次のステップ、次のステップへとステップアップしていく「前向き人生の扉」が開かれてきて、最終的には生涯の仕事となる天職に辿り着ける、と言うのが私の信念の一つでもある。

昔のブログ、検索したら見つかった(笑)。

余事の余談: 好きなことを仕事にする、もしくは今の仕事を好きになる

基本的にそんな考え方だな。

彼の場合、私よりも若いし、バイタリティーもある、良い要素も沢山あるんだから「心の持ちよう」で台無しにしたらあまりにも勿体無いように思う。

余談の余談だが、同じ会話の中で「楽しい会社ってないですかね?」と言う質問の返答に何社か名前を出したんだが、1社名前が出てこなかった。下記がその会社。

アドウェイズ本社、初訪問!

楽しい会社かどうかは一言も書いていないんだが、和風来客室は是非弊社もパクらせていただきたいと内心思うところ@未来に向けての覚書(笑)。

本日の一言:
どの瞬間に人生の終止符を打っても悔いの無いぐらいに1つ1つのことを一所懸命やりきる。



広ブロっち♪ d(^-^)