[#8166] jcode.rb for UTF-8 — WATANABE Hirofumi <Hirofumi.Watanabe@...>
わたなべです.
[#8168] {literal}#[]= — EGUCHI Osamu <eguchi@...>
えぐち@エスアンドイーです。
まつもと ゆきひろです
えぐち@エスアンドイー です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
In message "[ruby-dev:8189] Re: {literal}#[]="
[#8175] yacc generated symbols — Masaki Fukushima <fukusima@...>
福嶋です。
[#8176] Multiple self assignment — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
まつもと ゆきひろです
もりきゅうです。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
西@九大です。
もりきゅうです。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
In message "[ruby-dev:8266] Re: 例外を処理する 2 項演算子"
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
[#8204] Re: [ruby-list:18281] Re: アクセス制御について — Shugo Maeda <shugo@...>
前田です。
原です。
前田です。
けいじゅ@日本ラショナルソフトウェアです.
前田です。
[#8218] append_features — gotoken@... (GOTO Kentaro)
ごとけんです
[#8234] Syntax check in test.rb — Katsuyuki Komatsu <komatsu@...>
小松です。
[#8259] Re: [ruby-list:18468] Re: Array doesn't include Comparable — ttate@...
立石です。
[#8290] [patch] autoupdate — EGUCHI Osamu <eguchi@...>
えぐち@エスアンドイーです。
まつもと ゆきひろです
[#8305] [patch] duplicated include in regex.c — Minero Aoki <aamine@...>
あおきです。
[#8315] Re: [ruby-list:18601] Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{} — Kazunori NISHI <kazunori@...>
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
西@九大です。
新井です。
まつもと ゆきひろです
新井です。
新井です。
まつもと ゆきひろです
小松です。
まつもと ゆきひろです
ごとけんです
なかだです。
[#8319] Re: Exception handling — Jun Adachi <adachi@...>
安達@沖データと申します。
西@九大です。
けいじゅ@日本ラショナルソフトウェアです.
[#8320] constants definition in extarnal files — nagai@...
永井@知能.九工大です.
In message "[ruby-dev:8320] constants definition in extarnal files"
[#8325] rdtool-0.5.2 and racc-0.9.5/racc-0.10.0 — Katsuyuki Komatsu <komatsu@...>
小松です。
[#8330] Re: Exception handling — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
[#8332] Re: Exception handling — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
[#8353] Regexp <=> — Kazuhiro Nishiyama <nishiyama@...1.tiki.ne.jp>
こんばんは、ZnZです。
まつもと ゆきひろです
こんばんは、ZnZです。
まつもと ゆきひろです
[#8366] Re: Exception handling — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
[#8375] File test methods for Stat — nobu.nakada@...
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#8445] [PATCH] Ruby/Tk and ... — Koji Arai <JCA02266@...>
新井です。
新井です。
永井@知能.九工大です.
[#8446] [REQ] {enumerable, integer, range}.rand — Kazunori NISHI <kazunori@...>
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
これつぐです。
まつもと ゆきひろです
[#8451] new Hash (Re: [ruby-list:19043]) — Wakou Aoyama <wakou@...>
青山です。
原です。
松で
青山です。
[ruby-dev:8439] Re: constant?
まつもと ゆきひろです
In message "[ruby-dev:8435] Re: constant?"
on 99/11/27, GOTO Kentaro <gotoken@math.sci.hokudai.ac.jp> writes:
|ぼくもあまり深く考えていなかったので改めて考察してみたところ、
|どうやら定数は安全性を提供するが汚染モデルとは異なる機能を提
|供するモノのようです。
まったくその通りです。っていうか、セキュリティレベルと絡めて
考えるという発想そのものがありませんでした。確かにレベル4で
定数の変更を禁止していますが、あれはグローバルな状態の変更禁
止の一環ですから、この件とは分離して考えた方が良いでしょう。
|さて、再代入できない定数というのはインタプリタがある種の安全
|性を保証してくれる名前のことではないでしょうか。この安全性を
|上の(i),(ii)に対応させてみます。
|
| (1) 名前なのでその有効性はインタプリタが検査する
| (2) その名前空間が存在する限り値の一意性が保証される
(1)については異論はないのではないでしょうか。現在の定数相当
のスコープと未初期化の場合にエラーとなるスロットの存在は妥当
であるとほとんどの人が同意してくださると思います。
(2)については考えるべき点がいろいろあると思います。
(a) 定数の再定義を一切禁止する(昔の仕様)
結果として値の一意性は保証されるが、たとえばJed/Rubyで
プログラムを修正の上、再実行などが行えないという不自由
さがあります。
(b) トップレベルでの再定義を許す(1.4の仕様)
プログラムのロードレベルでは再定義を許すので、厳密には
定数ではないのですが、メソッド内では値が変更できないの
で(抜け道を使わない限り)、実行中に値が移り変わることは
ありません。普通の変数よりはマシですが、これは「定数」
じゃないという指摘はもっともです(私は妥協できると思っ
てるけど)。
(c) 初期化されたものはメソッド内でも代入可能(1.5.0の仕様)
試験的に1.5.0で採用している仕様です。これは実行時にも
値が移り変わりますから、完全に定数ではありません。いま
まで奇妙な方法で実現していたクラス変数(相当)が実現でき
るのは嬉しいことですが、かつての仕様でまがりなりに存在
していた値の定数性は完全に失われています。「定数」じゃ
ない別の名前を考える必要があるというのが最大の問題のよ
うに思いますが、「値の一意性」が失われるのもそれはそれ
で大きなデメリットかもしれません。
(d) 代入可能だが指定されたものだけは定数
ごとけん案と言っても良いのかな? 「値の一意性」を外側
から指定する性質として用意しようという考えだと思います。
実行のことは置いて考えるとして、気になるのは
* 全体としては「定数」でないので別の名前を考える必要
がある(しかも、その名前は「変数」という単語を含ま
ない方が良い)
* 「再定義の不自由」の問題をどう回避するか。
* スコープが同じだとは言え、定数(的性質を持つもの)と
変数を同じものとして考えて良いのか。単なる性質の違
いを越えているのではないか。
などです。
そして、既に触れていますが名前の問題です。名前がすんなり決ま
らないってことは議論(考察)が不足していると考えることができる
かもです。
まつもと ゆきひろ /:|)