複数のプログラミング言語やフォーマットにおいて、同じ名前を使いたいことがしばしばあります。しかし、プログラミング言語やフォーマットを横断して名前を揃える作業は思いのほか難しいですね。「同じ名前」「名前が同じ」という概念をキッチリ定義しないといけません。 どこでも使える安全な名前 そもそも、どのプログラミング言語/フォーマットでも共通に使える名前とはどんなものでしょう。次の定義は非常に保守的で、それゆえ安全なものです。 使える文字は英字と数字だけ。 最初の文字は数字ではない。 正規表現で書けば: [a-zA-Z][a-zA-Z0-9]* この定義では、大文字小文字が区別されます。しかし、ドメイン名、メールやHTTPのヘッダーフィールド名、古い仕様のプログラミング言語やAPIなどでは、大文字・小文字が区別されません。そこで、さらに安全のために、正規形は小文字だけにすると約束しましょう。 [a-
We are currently working on something great. Stay tuned!
JavaScriptとの関連で、即値と参照の説明をしたことがあります。「即値」という言葉は、本来は別の文脈で使われるものですが、語感がたいへん適切だと思って僕が「参照型ではないデータ」の意味で使ったのです。詳しくはこのエントリーを見てください。 さて、ここではJavaScriptに限らず一般的な観点から即値と参照を再論します。この話題は、データ構造やプログラミング言語を論じる際の基本(のひとつ)になると思うからです。 内容: なんで即値と参照の区別があるのか 整数は即値か参照か ミュータビリティに注目せよ ●なんで即値と参照の区別があるのか 即値と参照を区別する習慣は、現状のハードウェアや言語処理の方式に由来するものです。例えば、多くの実装で、関数に引数を渡すにはスタックに積み、戻り値はレジスタに格納します。スタックに大きなデータをコピーするのはうれしくないし、レジスタにはサイズの限界があ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く