[JM:00981] Re: Q: “nameref”の定訳

Back to archive index

Masakazu Takahashi emasa****@gmail*****
2014年 1月 13日 (月) 14:30:59 JST


emasaka です。

2014/1/13 SATOH Fumiyasu <fumiy****@osste*****>:
> さとうふみやす @ OSSTech です。

> Solaris 11 の日本語マニュアルでは「nameref」のままですね。
> 「nameref は、別の変数を参照する変数です。nameref は、
>   typeset の -n 属性を使用して作成します。」といった文言。

さっそくありがとうございます。参考になります。

> 余談ですが、この文章中に ksh では予め「alias nameref='typeset -n'」
> されているようなことが書かれていますが、これは環境依存で、
> 手元の Debian、AIX では定義されていませんでした。

なるほど。ちなみに bash 4.3 では nameref エイリアスはなく、declare -n
や local -n で設定するようですね。manpage に書かれていた例を試すと、こ
んな感じ。

$ declare -n ref
$ for ref in a b c; do ref=5; done
$ echo $a $b $c
5 5 5

> 「名前参照」という言葉も一箇所だけ出てきます。引用します:
>
>      ${!vname}
>
>          vname で参照される変数の名前に展開されます。vname が
>          名前参照である場合を除いて、これは vname です。

> 「nameref」=「name reference」でもいいような感じがします。

一瞬混乱しましたが、ここでの name reference は $!{!…} の挙動ではなく
vname のことなんですね。つまり、Solaris のマニュアルでは、「nameref」が
基本だが、同じものを指す「name ref」を「名前参照」と訳している箇所もあ
る、と。ちょっと悩みます。

$ foo=5
$ declare -n bar=foo
$ baz=bar
$ echo ${!baz}
5

> 個人的には、独特な用語は訳さずにそのままにする (「nameref」のまま) か、
> 翻訳する場合は初出の箇所で「名前参照 (nameref)」のようにしてもらえると
> 嬉しいです。(翻訳を読んでるときに英語の原文を参照したくなったときに便利)

ご意見、ありがとうございます。「nameref」のままにする pros は、馴染みの
薄い用語なので原文との対応をとりたいということ、理解します。

一方で cons は、変数の「nameref 属性」という言葉が「整数属性」という言
葉と同じように使われている点です。私の主観では不揃いがちょっとだけ気に
なります(妥当な理由があればスルーできる程度)。

現時点での私の候補は、初出の箇所で「名前参照 (nameref)」、ですかねえ。

-- 
Masakazu Takahashi (emasaka)




linuxjm-discuss メーリングリストの案内
Back to archive index