[JM:00504] Re: [POST:DO] bash bash.1 (EXPANSION 1)

Back to archive index

長南洋一 cyoic****@maple*****
2011年 11月 17日 (木) 14:52:38 JST


長南です。

次の二ヶ所について、もうすこし考えてみました。

> .SS ブレース展開
> 
> .\"O .I "Brace expansion"
> .\"O is a mechanism by which arbitrary strings
> .\"O may be generated.  This mechanism is similar to
> .\"O \fIpathname expansion\fP, but the filenames generated
> .\"O need not exist.  Patterns to be brace expanded take

> .I "ブレース展開 (brace expansion)"
> を使うと、任意の文字列を生成できます。この機構は
> \fIパス名展開\fPに似ていますが、
> 生成されたファイル名が実在する必要はありません。

> .\"O This construct is typically used as shorthand when the common
> .\"O prefix of the strings to be generated is longer than in the
> .\"O above example:
> この仕組みは、
> 生成される文字列の共通先頭部分が上記の例より長い場合に、
> 短縮表現としてよく使用されます:

mechanism と construct は、どちらの言葉も、「部分 (部品) から
構成されたもの」を対象とし、事実上ブレース展開を指していますが、
前者は「部分が共同して働くこと」に注目した表現であり、後者は
「部分から構成されていることそのもの」に注目した表現だと言える
のではないかと思います。

そこで、前者にこそ、「仕組み」を訳語に使ってみたら、どうでしょう。
たとえば、

  ブレース展開 (brace expansion) は任意の文字列を生成する仕組みです。
  この仕組みはパス名展開に似ていますが ...

後者の訳語は難しいと思います。ただ、文章はこんなふうに続いています。

  正しい形のブレース展開には、クォートされていない開きブレースと   閉じブ
  レース、また少なくとも  1 つのクォートされていないコンマが 含まれていな
  ければなりません。正しい形でないブレース展開は全て、 変更されないでその
  まま残ります。 { や , をバックスラッシュでクォートすれば、 ブレース展開
  の一部と解釈されないようにできます。   パラメータ展開との衝突を避けるた
  め、文字列 ${ はブレース展開の対象とは解釈されません。

  This construct is typically used as shorthand when the common prefix of
  the strings to be generated is longer than in the above example:
  
直前では、ブレース展開の正しい書式について述べられているわけです。
ですから、この construct は、「ブレース展開という構成法」、あるいは
「構成されたブレース展開の表記」ということでしょう。
さて、どう訳したらよいのか。

動詞の construct には「文を組み立てる」という意味がありますし、
construction には「構文」という訳があります。これが使えないでしょうか

「ブレース展開」サブセクションの最初のパラグラフに、「ブレース展開
されるパターンは、前置部分 ...、対になるブレースの間にコンマで区切って
並べた文字列、後置部分 ... を順に並べたものです」とあります。
それならば、aaa{bbb,ccc,ddd}eee とタイプしたとき、その全体を
ブレース展開の construct と言ってよいのではないでしょうか。
「構文」でピッタリです。

  この構文は、生成される文字列の共通先頭部分が前述した例よりも
  長い場合に、短縮表現としてよく使用されます。たとえば、

これでもピンと来ないようなら、「ブレース展開というこの構文は」と
言えばよいと思います。

実は、著者がこの文章をここに入れた理由がよくわかりませんでした。
なくてもよかったのではないかと思います。それで、考えてみたのですが、
著者がこの文をどうしても必要だと思ったのだとしたら、それは、
「(a{d,c,b}e のような例は、あくまで説明のための作り事であって)
ブレース展開が実際に使われるのは、共通部分が長い場合が普通である」
ということを強調したかったからではないでしょうか。だとしたら、
訳文でもそれを強調するべきでしょう。文の構造を変え、ついでに
「実際に」を補ってみます。

  この構文が短縮表現として実際によく使用されるのは、生成される
  文字列の前に付く共通部分が、前述した例よりもっと長い場合です。
  たとえば、

あるいは、

  この構文が短縮表現として実際に使用されるのは、生成される文字列の
  前に付く共通部分が、前述した例よりも長い場合がほとんどです。
  たとえば、

もっとも、この文は、"mkdir /usr/local/src/bash/{old,new,dist,bugs}"
のような長い実例を挙げるための、ただの前置きにすぎないのかもしれ
ませんけれど。

-- 
長南洋一




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