質問: そこで質問なのですが、 1 上記の 「test」の部分を、エンジニアの方は普通どのように呼んでいるのでしょうか。 2 「stem」というのは、なぜ、「stem」というのでしょう(何かの略でしょうか) よろしくお願いいたします。
回答: 「どう呼ぶか」と言う質問に対して、いちエンジニアとしての私の回答は「**拡張子無しのファイル名**」でしょうか。 それですと、先の回答者さんらが書かれている「filename without extension」と同じと言えます。 拡張子のようにそのものを指している単語は特に無いとの認識なので、その時々の話に合わせて変えることもあります。OSやプログラミング言語に応じて適当に合わせる、と言う意味で先の回答と同じです。 **以下、回答にあたって「stem」について調べてみたことです** この質問、実は私も`basename`コマンドを使う時に「正しくは何と呼ぶのだろう」といつも思っていましたし、仕様書を書くような時に少し困ってもいました。が、不正確だと指摘されたことは無かったのでそのままにしていました。 本質問で「**stem**」と言う聞き慣れない単語が出てきた為、調べてみました。どうも頻度は少ないものの、英語圏ではファイル名の一部を表す単語として時折出てくるもののように思います。 こちら、プログラムも書かれる、生物、医学系の研究者の方のブログ記事です。短い記事ですが、個人的に興味深く読ませてもらいました。 What's in a (file)name? 言語学に絡めてstem of word=単語の幹=基本となる部分がある、と述べられています。 > > "fishing", "fished", and "fisher" would reduce to "fish". You might also talk about the "base" or "root" of a word. > > > ファイル名もそうで、例えばhogeと言う幹となるデータ(≒モデル?)があるとして、hoge.txt, hoge.csv, hoge.xlsと、実際のデータの視せ方で変化する、とのように理解したら良いでしょうか。ちなみにこの方自身の結論としては、「stem」を使われるようです。 > > For my own part, I'll be using "stem". > > > 上の記事で参照されていますが、wikipediaの記事です。 Filename > > dividing the filename into two parts: a base name or stem and an extension or suffix > > > と書かれています。「base name」か「stem」です。wikipediaに書かれている内容が必ずしも正しいとは言えないかもしれませんが、参考になります。 先の回答者、KSwordOfHasteさんも少し述べられていますが、C++ の`std::experimental::filesystem::path`のメンバー関数は`stem`です。 std::experimental::filesystem::path::stem stackoverflowでの質問。単語として「stem」を使っています。 How to get the stem of a filename from a path? 2002年刊行の書籍。194,195ページに記載のプログラミング例で、拡張子無しのファイル名を納める変数を「Stem」と名付けています。 .NET for Visual FoxPro Developers 実務において、拡張子無しのファイル名を「stem」と呼ぶのは(特に)日本ではかなわないと思うのですが、英語圏では使われるケースがある、くらいに理解しておいて損は無さそうです。