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)