npm/docsで学ぶ英文法②

クリスマスですね。

私はケーキを焼いて十分に楽しみました。

さて、頑張ったブッシュドノエルをアピール出来たのでもう十分なんですが、
ihcomega.hatenadiary.com ↑こちらの続きいってみよー!

みっつめ?

05 - Using a package.jsonより

This object will hold attributes named after the packages you'd like to use, that point to a semver expression that specifies what versions of that project are compatible with your project.

補足

  • semver
    npm用語で、Semantic versioningを指すようです。
    詳細はSemantic versioning and npmを読めば分かりそう(まだ読んでいない)。

ポイント

  • 非制限用法関係代名詞 thatが使われている・・・?

学校では「非制限用法にthatは使えないよ(一応例外もあるけどね)」って習いますよね。
でも前半に出てくる, thatがそれにしか見えない。合っているのでしょうか。
色々調べたけど確証は持てず、かといってそれ以外にいい感じなthatの用法も
見つかりませんでした。

ひとまずthat関係代名詞であるとして話を進めます。

先行詞は、pointという動詞が原型、つまり三単現のsがないことから
objectではなく、attributesまたはpackagesです。

ではどちらか。attributesだと思います。
なぜか。文法的に先行詞を確定させる要素がなく、意味で判断してしまいました。
point toが、JSONの名前と値を結びつけるような表現だと思ったため、
semver形式の値と対になるものはattributeの方だろうと…。
こちらは訳のところでも補足します。

文のつくり

複雑な箇所は、細かいところだと上に挙げたのくらいな気がするので、
全体の構造を見てみます。
f:id:ihcomega:20161225024745p:plain:w700
SとVがたくさん〜

このオブジェクトは、あなたが使いたいパッケージから名前をとった属性を持ち、その属性は、
そのプロジェクトのどのバージョンがあなたのプロジェクトと互換性を持つかを特定するsemver表現を指します。

分かりやすく直してみます。

このオブジェクトは、使いたいパッケージから名前をとった属性を持ち、その値はsemver形式を取ります。
semver形式は、依存するプロジェクトのどのバージョンが自分のプロジェクトと互換性を持つか表すものです。

こんな感じでしょうか…。

正攻法ではないけど、
説明の対象であるpackage.jsondependenciesdevDependencies
例で見てしまうと分かりやすい気がします。

{
  "name": "my_package",
  "version": "1.0.0",
  "dependencies": {
    "my_dep": "^1.0.0"
  },
  "devDependencies" : {
    "my_test_framework": "^3.1.0"
  }
}

^1.0.0とか^3.0.0っていうのがsemverで、
my_depmy_test_frameworkっていうのが各semverを指す名前。
さっきは、この名前と値の関係から、thatの先行詞を判断しちゃったわけです!

気になること

you'd like to use

普通、それなりにかっちりした書き言葉ではyou'dみたいな省略形を使わないはず
・・・例えば大学のレポートやテストでは省略形やめましょうって言われてきたし、
会社のドキュメントとかでも避けるようにしています
が、npmのドキュメントでは普通に出てきますねー。

あまり細かいことを考えずに書かれているだけかもしれませんが、
ちょっと気になりました。


おしまいです。今回も、正解がよく分からないままw

英文を読む時、構造 -> 意味という順番で捉えないと危険だっていうのは
前回書いた通りで揺るがないのですが、
上のように意味から判断しないといけない場面ももちろんあります。

まずは文法的なジャッジが出来るよう文法をちゃんと身につけて、
その上で、意味的に考えなくてはならないケースに備えて
語彙を増やすとか言葉のニュアンスを知るとかが必要になってきますね。
大変!!!!!

Merry Christmas!!!!!