2007年2月15日

数字に関する短縮記法 - 学校では教えてくれないバッドノウハウ英語 #8

学校では教えてくれないバッドノウハウ英語の8回は、数字に関する短縮記法を取り上げたいと思います。

 

2x, 10x, ...

ソフトウェアの開発では、性能が2倍になった、などのように数字が何倍になったかを議論することがよくあります。このようなときに便利なのが数字の後ろに x をつける記法です。

例)
C++ is 10x faster than Perl for this kind of application.
この手のアプリには C++ の方が Perl より10倍速いよ

This simpler code gained a 5x performance improvement.
もっと単純なこのコードで 5倍の性能改善が得られたよ。

上の例は x を使わない場合、 ten times faster や five-fold performance improvement のようになります。... times と ...-fold もよく使われる表現です。

5x はだいたい five times と読みますが、five x (エックス) と読むこともあります。

100+, ~100, <100, >100

数字の正確さが重要ではないときや、意味をなさないときは大ざっぱに表現したいときがあります。このようなときは、数字の後ろに + をつければ「以上」、頭に ~ をつければ「約 」あるいは「まで」 (だいたいこのくらいだけど、これ以下、という感じ)、頭に <, > をつければそれぞれ、「未満」「より大きい」という意味になります。

例)
Gee, the buggy function is used in 1500+ files.
うげ、このバグってるぎみの関数、1500以上のファイルで使われているよ。

The compression can save ~100 bytes in the normal case.
この圧縮で通常の場合、大体100バイトまでの節約ができるよ。

The parent typically has <20 children.
この親は大体、20未満の子供がいる。

読み方は、5+ は five or more, ~5 は about five または up to five, <5 は less than five, >5 は greather than five といった感じです。基本的に、通常の英文と同じ読み方をすれば間違いありません。5+ は five plus と読む場合もあります。

#

ソースコードのコメントやエラーメッセージなど、文字数を節約したいときは number の短縮記法として # がよく使われます。Ruby 1.6 ではメソッドに渡す引き数の数が間違っているときは wrong # of arguments (間違った数の引き数) というエラーメッセージが表示されていました。1.8 からは number に代わっています。

例)
% ruby1.6 -e 'open()'
-e:1:in `open': wrong # of arguments (0 for 1) (ArgumentError)

number の省略として使われている場合、 # は number と読みます。

[a, b)

次に紹介するのは英語ではなく、数学の記法ですが、便利な場面が多いので一緒に紹介しておきます。

[0, 10) と書いた場合、 0から10までの区間、ただし 0 を含み (角括弧)、10を含まない (丸括弧)、という意味になります。C言語の for ループで for (i = 0; i < n; ++i) と書いた場合、i は [0, n) の値をとります。

例)
Delete all the elements in range [begin, end)
[begin, end) の間の全部の要素を削除する。

上の数学の記法を用いない場合、日本では「1~100」のように「~」を多用しますが、英語圏では 1-100 のように - (ダッシュ記号)を使います。1~100 のように ~ (チルダ記号) が使われることはほとんどありません。1-100 と書いた場合、通常、[1, 100] という意味になります。

5e6

これも英語とは関係ありませんが、5e6 と書いた場合、科学記法の 5×106 (five multiplied by ten to the sixth power) を表します (つまり 5,000,000)。Ruby や Python はこの記法に対応しています。

まとめ

今回は数字に関する短縮記法を取り上げました。無駄に使いすぎると文章が読みにくくなってしまう危険性がありますが、ソースコードのコメントなどで簡潔に表現したいときに役立つと思います。