[#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:38762] Re: ruby-dev summary 21730-21822 /draft

From: Hiroharu Sugawara <sugawah@...>
Date: 2003-11-05 18:37:18 UTC
List: ruby-list #38762
すすです。
英訳へのコメントなんで、別にしました。
rubyist宛がよかったでしょうか。

まず、同じ文章なので、遅ればせながら、[ruby-list:38642] にコメントしたかったのですが、

On Wed, 5 Nov 2003 18:59:30 +0900 Minero Aoki <aamine@loveruby.net> wrote:

> 
> [ruby-dev:21616] access ENV on $SAFE==4 (contd.)
> 
>   From the previous ruby-dev summary ([ruby-talk:84412]):
> 
>     Hidetoshi NAGAI found that Safe interpreter of Tcl/Tk
>     don't allow to refer some informations of environments,
>     such as env, OS, library and so on. And he asked

On Thu, 23 Oct 2003 14:39:55 +0900 TAKAHASHI Masayoshi <maki@rubycolor.org> wrote:

> 高橋征義です。

> > > >   doesn't allow
> >       did not ですね。
> 
> あ、こういう一般的な事実でも時制の一致があるんでしたっけ(自信なし)

「いつもの習慣、通例、普遍的真理・法則とか、を強調するときに、
時制の一致を無視して現在形でもよし」というのが英文法の説明ですので、
現在形でもOKなんですが、上のthat以下の内容は将来変わりうることに
(つまり、ある一時点の事実に)思えたので、過去形の方がよいと判断したのでした。
※ 以下も reporting structureが、たくさん出現しますが、省略します。

information は数えられない名詞です。、
referの目的語は、参照先ですね。
allowという言葉の選び方は引っかかります。
and so on は不要でしょう。

   found that the safe interpreter of Tcl/Tk cannot refer to
   its operating (running) environment such as ENV, OS, and libraries. 

実行環境って、上の言い方でいいのかな?

>     such as env, OS, library and so on. And he asked
>     whether we should forbid to use ENV, RUBY_PLATFORM
>     and $LOAD_PATH when $SAFE=4.

so he proposed to restrict the accesses to ENV, RUBY_PLATFORM, 
and $LOAD_PATH env-vars when $SAFE=4

[skip]

>       $SAFE >= 4 でのアクセスが禁止される.
> 
>       We cannot refer/modify $LOAD_PATH if $SAFE>=4.

$LOAD_PATH cannot be referred nor modified when $SAFE >= 4.

ifは仮想なので、単なる条件なら when の方がいいと思います。

[skip]
>       Following new methods are defined.
                                  introduced

[skip]
>       : ENV.allow_insecure_ref(varname)
> 	  $SAFE >= 4 での環境変数 name の読み出しを許可する.
> 	  Allows to refer VARNAME environment variable for insecure
> 	  programs.

          Enables insecure programs to refer VARNAME env-var.

プログラム言語の英文教科書が手元にないので、
refer か refer to かは、わからないです。
変数の参照と、変数の値の参照で、言い方が違うと思います。

[skip]
> 	  すべての環境変数のデフォルト設定は「読み出し可」である.
> 	  ( $SAFE >= 4 での書き込みは常に例外を発生することに注意.)
> 	  We can refer all environment variables by default,
> 	  for backward compatibility.

          By default, any insecure programs can refer 
          to all the env-vars for backward compatibilify.

>       : ENV.deny_insecure_ref(varname)
> 
> 	  $SAFE >= 4 での環境変数 name の読み出しを禁止する.
> 
> 	  Hides VARNAME environment variable from insecure programs.

          Disables insecure programs to refer VARNAME env-var.

[skip]
> 	  読み出し禁止に設定した環境変数を $SAFE >= 4 で読み出そうとすると, 
> 	  その環境変数が存在しない場合と同様に nil が返る.

        The reference to the deny_insecure_ref'ed env-var when $SAFE>=4
        returns nil as if that to undefined env-vars does.

> 	  また,読み出し禁止の環境変数は ENV.keys 等でも表示されない
一応の訳は
       Also, the deny_insecure_ref'ed env-vars cannot be accessed 
       by methods such as ENV.keys
二重否定は難しいし、元の日本語も曖昧なので、思い切って
       Insecure programs can access only env-vars 
       which are not deny_insecure_ref'ed.
と書いたら、どうでしょう。
説明は、こちらの文の方が先?

[skip]
>       : ENV.insecure_ref_denied?(name)  ->  bool
> 
> 	  ENV.insecure_ref_allowed?(name) の否定
> 
> 	  Returns true if VARNAME is hidden from insecure programs.
対句にする
	  Returns true unless insecure programs can refer VARNAME env-var.

VARNAMEが環境変数でない場合は、どうなるのでしょうか?

>       : ENV.insecure_ref_allowings  ->  [String]
> 
> 	  $SAFE >= 4 でのアクセスが許可されている環境変数のリストを得る.
> 
> 	  Returns a list of variable names which insecure programs
> 	  can refer.
          Returns a list of env-vars that insecure programs can refer to.
          
[skip]
> 
>       : ENV.insecure_ref_denyings  ->  [String]
> 
> 	  $SAFE >= 4 でのアクセスが禁止されている環境変数のリストを得る.
> 
> 	  Returns a list of variable names which are hidden from
> 	  insecure programs.
また対句
          Returns a list of env-vars that insecure programs cannot refer to.

[skip]
>     * RUBY_PLATFORM, PLATFORM
[skip]

>       These constants are invisible for insecure programs.
                                      from insecure programs でしょうね。


たくさん[skip]

>   This is because rb_iter_break() is called in another method frame
>   is not what the block is executed on.
>   ※ 「ブロックが実行されているのとは違うフレーム上で
>       rb_iter_breakが呼ばれたから」と言いたいのですが、
>       わたしの英語力の限界を越えてしまいました

「」の逐次訳は、こんな感じ。
  This is because rb_iter_break() was called in the method frame 
  other than that the block is excuted in.
でも、くどいので、
  ....in the method frame outside the running block.
と書いたら、意味が違うのかな?


In This Thread