[#38724] 祝日判定用メソッド — Take_tk <ggb03124@...>

たけ(tk)です

19 messages 2003/11/02

[#38756] ruby-dev summary 21730-21822 /draft — Minero Aoki <aamine@...>

青木です。

14 messages 2003/11/05

[ruby-list:38767] Re: ruby-dev summary 21730-21822 /draft

From: Hidetoshi NAGAI <nagai@...>
Date: 2003-11-05 22:08:07 UTC
List: ruby-list #38767
永井@知能.九工大です.

私は英語がままならぬ人なので,勉強になります.
で,仕様に関する質問が混じっているようですので
それについての返答です.

From: Hiroharu Sugawara <sugawah@attglobal.net>
Subject: [ruby-list:38762] Re: ruby-dev summary 21730-21822 /draft
Date: Thu, 6 Nov 2003 03:37:18 +0900
Message-ID: <20031106025336.848E.SUGAWAH@attglobal.net>
> VARNAMEが環境変数でない場合は、どうなるのでしょうか?

VARNAME が環境変数として定義されていない文字列でも
アクセスの可否は設定されます.
過去との互換性のため,現在はデフォルトで「アクセス可」になってますから,
deny_insecure_ref でアクセス不可に設定しない限りは
「アクセス可」としての返答が得られます.
なお,{deny|allow}_insecure_ref(name) の name に指定する
文字列は,その時点で環境変数として存在している必要はありません.

# 定数の方についても同じです.
# 設定する時点で存在していることは必用条件ではありません.

例えば,HOGE という環境変数が存在しない時点で 
ENV.deny_insecure_ref("HOGE") としておくと
ENV.insecure_ref_denied?("HOGE") には true を返しますし,
その後で HOGE という環境変数を作ったとしても,
その環境変数は「アクセス不可」の設定が正しく適用されます.

# いつの時点になるかはわかりませんが,セキュリティを考えて
# 将来はデフォルトで「アクセス不可」と変更になるはずです.
# この点を考えると,現在のデフォルトかどちらかを確認するような
# メソッドがあってもいいのかもしれません.

したがって,

From: "Akinori MUSHA" <knu@iDaemons.org>
Subject: [ruby-list:38764] Re: ruby-dev summary 21730-21822 /draft
Date: Thu, 6 Nov 2003 04:45:07 +0900
Message-ID: <86llquob0d.knu@iDaemons.org>
>  あと、リストを得るという機能は、
> 
> 	ENV.select { |var,| ENV.restricted?(var) }
> 
> ではだめかしら?よく使うのならメソッドにした方がいいでしょうが。

としてしまうと,その時点で存在していない環境変数についての設定が
参照されないので不足ではないかと思います.

# もちろん,デフォルトになっている側 (現時点では「アクセス可」の
# リスト) は存在する環境変数しか参照できないのですが.

で,ちょっと引用が前後しますが,

>  で、メソッド名はやはりわかりにくいですね。deny_insecure_ref'ed
> ってすごい動詞だ。 (^^;
>  代わりに
> 	ENV.restrict(envvar)
> 	ENV.derestrict(envvar)
> 	ENV.restricted?(envvar)
> ではどうでしょう。(derestrict は一般的な単語じゃないかも)

"restrict" は一時は使おうとして止めた記憶があるんですが,
なぜそうしたのかは忘れてしまいました.(^_^;

# 理由らしい理由はなかったかも...
-- 
                                         永井 秀利 (九工大 知能情報)
                                             nagai@ai.kyutech.ac.jp

In This Thread