« 2022年1月 | トップページ | 2023年4月 »

2022年5月の記事

2022年5月28日 (土)

equal

「equal」という英単語はプログラム関係の文章によく登場する。これは名詞としても形容詞としても動詞としても使える単語で、文章を読むときには注意が必要だが、意味はいつでも「同じ、等しい」ということなので文意を誤解することはあまりない。ただ文法的な制約がややこしくて、英作文のときにはとても困る。

形容詞として使う場合、等しい相手がある場合にはtoを入れて「A is equal to B」と言う。「A is equal B」とは言わない。でも動詞として使うときには常に他動詞で自動詞にはならない。だから「to」を入れてはいけない。つまり「A equals B」が正しく「A equals to B」は誤り。あと、形容詞なら主語を複数にして「A and B are equal」と言えるが、動詞で「A and B equal」とは言えない。(「A and B both equal C」などのように3つ目が必要。)

名詞のequalは「等しいもの」を表す。等しい相手は所有格やofで表すようだ。「A is an equal of B」とか「A's equal」のように。「He is not my equal」という有名な政治家の発言があるらしいが、これは「彼は私に匹敵する人物ではない」というような意味らしい。(形容詞で言い換えれば「He is not equal to me」、動詞で言い換えれば「He doesn't equal me」かな。)

なお、Google翻訳は名詞のequalをよく「平等」と訳すみたいなのだが、いろいろな英語の辞書を調べても、equalという名詞が「平等」というような抽象概念を表すことはないようだ。「We all treat each other as equals」のような言い回しがあって「我々全員は互いを平等に扱う」ということなのだが、この英文と和文を比べるとequalが「平等」を表す言葉みたいに見えるが、それはちょっと違う。このequalsは名詞の複数形だが、もしもこれが「平等」という抽象概念を表す言葉であれば複数形にはならず「equal」のはずだ。このequalsは「(自分と) 等しい (価値のある) 人たち」というような意味で、「我々全員は互いを『自分と等しい価値のある人たち』として扱う」と言っているのだ。この「自分と等しい価値のある人たちとして」を短い自然な表現として「平等に」と訳しているわけだが、このequalsはあくまでも「等しいひと (もの)」を意味していて、等しいという概念を表しているわけではない。

「等しいという概念」を表す言葉は別にあってequality。英和辞典を引けば先頭に「平等」と書いてある (と思う)。equalityという名詞には数学の「等式」という意味もあり、専門用語が出ている辞書なら載っている (equationともいう)。

ちなみに、形容詞のequalには反対語があってunequalなのだが、「unequalである (等しくない) という概念」を表す名詞はunequalityじゃなくてinequalityなのだそうだ。数学の「不等式」もinequality。数学用語では、等しい方はequalityもequationも等式の他に等号も意味するのだが、等しくない方はinequalityが等式で、inequationは不等号として区別するのだそうだ。本当に?

なお、大抵の辞書はunequalityとかinequalとかは単語として掲載していないが、大きな辞書の中にはinequalを載せているものもあり、unequalと同じ意味のまれな形容詞としている。また、普通の辞書はunequalを形容詞 (のみ) としているのだが、大きな辞書の中には、これを名詞とか動詞とかとして使えるとしているものもないわけではない。私は個人的に、「標準英語にそういう使い方がある」のではなくて「勘違いしてそういう使い方をしてしまう例もないわけではない」という程度の意味かと思っているのだが、まあ素人なのでよく分からない。

2022年5月 8日 (日)

gitのsubmoduleの場所を変更する

git submodule addでサブモジュールを追加したあと、そのサブモジュールを配置するディレクトリーを変更したくなった場合、つまり例えば、git submodule add https://github.com/AlissaSabre/disfr.gitなどとして追加したサブモジュールがあり、この結果できているdisfrというディレクトリーをexternal/disfrに変更したくなった場合は、単にmkdir external; git mv disfr external/disfrとすればOK。(当たり前だが、modified: .gitmodulesrenamed: external/disfrになるので、コミットする。)

これとは別のgitのややこしいケースの情報を探していたところ、サブモジュールの場所を変更するには…のように題し、.gitmodulesやら.git/modules/disfr/configやらたくさんのファイルを手で編集する方法を熱心に説明しているページが複数あったので、一応メモしておく。

(なお、サブモジュールなので、git mvで変更をする前のブランチをチェックアウトすると変なことになるが、git submodule updateしただけでは完全に元に戻らない。また、それを元に戻した後でこちらのブランチに戻るとまたおかしくなる。この点は、移動方法の問題ではなくて、サブモジュールそのものの問題のはずなので、.gitmodules等を手で変更しても同じだと思う。試してないけど。)

« 2022年1月 | トップページ | 2023年4月 »