Using English in Function Names and Proper Nouns

このQ&Aのポイント
  • When using function names like GetLastError, it is standard to omit the article 'the'. However, when using 'the' before the function name like 'the GetLastError function', it is also acceptable.
  • This rule can also be applied to other proper nouns such as HRESULT values and macros like HRESULT_FROM_WIN32.
  • In cases where you need to refer to an issue within a specific function like 'There is an issue within the ABC function', it is common to use prepositions like 'in', 'at', or 'on' depending on the situation.
回答を見る
  • ベストアンサー

関数名などの固有名詞(?)を英語の文で使うとき

Win32APIのGetLastError functionのページを見て判断すると http://msdn.microsoft.com/en-us/library/windows/desktop/ms679360%28v=vs.85%29.aspx ~instead of GetLastError. ~by calling the SetLastError function. You should call the GetLastError function~ ~some functions call SetLastError with a zero when~ ~use the FormatMessage function. というように、関数名のみの時は冠詞(the)なしで、「関数名 function」のときはtheをつける、というのがスタンダードと考えていいのでしょうか? また、これはan HRESULT valueやthe HRESULT_FROM_WIN32 macro.といったように、型名やマクロ名 その他、例えばソースファイルやヘッダファイルなどにも当てはめて考えていいのでしょうか? また、「ABC関数内に問題があると考えたので~」というような場合、the ABC functionなどの前に入れる前置詞はin, at, onのどれがいいでしょうか?(状況によりどれもあり?)

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「関数名 function」のときは「関数名」が function を修飾しているので, function にあわせて the を付けているはず. そうでなく, 単に関数名があるだけなら一種の固有名詞として扱っているんでしょう. その他の場合も, 基本的には同じだと思います. value とか macro にひっぱられて an HRESULT value とかになっている (an なのは HRESULT を「エイチRESULT」と発音しているからだと思う) はず. 最後の「ABC関数内に問題があると考えたので~」の前置詞は in が自然かな.

LongSecret
質問者

お礼

どうもありがとうございます♪ なるほど、HRESULTの件は確かにそう考えるのが妥当ですね(ほとんど考えずにコピペしただけだったので、実は指摘されるまで気づかずにいました) そのほかはまず予想通りといったところで、安心しました。 英語についてのあと一押しの確認をしたいのですが、例えばthe Pacific Oceanなどもそうですが「固有名詞 普通名詞」では冠詞はつくパターン、Lake Biwaなどだとtheはつかないパターンなので、つまり基本的には、前置詞などの区切りがなく連続で名詞が並ぶ場合は、「名詞の一番最後に来ている語」に影響を受ける、と考えていい…のでしょうかね?

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

すみません, 英語で表記するときの一般論については英語の方で質問されるのがよろしいかと. ただ, ちょっと調べた限りだと「the がつくかどうか」は語順ではなさそうです. 例えば「テムズ川」は the River Thames という表現になり, river が先に来ているにもかかわらず定冠詞をつけるのが普通だと思われます. むしろ, 「川にはつけるけど湖にはつけない」とか, そんな雰囲気を感じます (Lake を後置した名前が思いつかない...).

LongSecret
質問者

お礼

なるほど、これは覚えるしかないの手合いのようですね。私も英語カテの方かどうかは投稿時に迷いました。投稿時の質問についてはこちらの方がいいかなとおもいましたが、仰る通り追加の疑問の方は英語のみの内容といえるので、そちらの方がいい感じがしますね。 とりあえず、C/C++における名詞についてはよさそうと踏むことにしますが、それ以外については英文を書く必要が生じて疑問が出た場合に英語カテで質問するかもしれない、ということにしておきます。 ありがとうございました♪

関連するQ&A

  • access vbaで引数によって、関数を変えたい

    引数名の関数を実行したいのですが、どうすればいいでしょうか? 【やりたいイメージ】 Function 関数選択(関数) 関数選択 = 関数() ← 引数の関数が"z"の場合、"Function z()"を呼びたい End Function -------------------- 呼び出す関数 -------------------- Function a() a = "a" End Function ~ Function z() z = "z" End Function -------------------------- "Function 関数選択(関数)"の中で、ifやswich すればできると思うのですが、ずらずら書くのもうっとおしいのでスマートにしたいと思っています。 call がいいと思ったのですが、戻り値がかえせません。 何かいい方法はないでしょうか? よろしくお願いします。

  • Format関数

    ACCESSテーブルから、ExcelにエクスポートするVBAを作成し、 出力ファイル名に「ABC+日付(yymmdd)」をFormat関数を用いて 指定したのですが、 作成されたファイル名が「ABC070919」となるところ、 「ABC70919」と表示されてしまいます。 これを解決する方法などがありましたらご教授ください。 宜しくお願いいたします。

  • PHPの関数はどこのファイルで定義されていますか?

    PHPのデフォルトの関数はどこのファイルで定義されていますか?教えて下さい。Call to undefined function: socket_create() というエラーメッセージが出て困っています。

    • ベストアンサー
    • PHP
  • ファイル内検索関数を作りたいのですが・・・

    質問させて下さい。 PHPファイル内で危険な関数、非推奨になった関数が含まれているかをチェックするスクリプトを考えています。 php.iniにてdisable_functionsを使用すればいいのでしょうが、急に非推奨になったり、 コード規約で省かれたりと言った時に対処するような場合に使用したいと思っております。 コマンドラインから利用しようと思っているのですが、ここでは簡略化の為に引数を取って、1ファイル(check.php)のみに適用させています。 で、以下のように書いてみたのですが、全くエレガントな感じがしません。 自分としては、ファイルにHTMLに<table>にて整形したものを出力したいと考えています。 「どの関数が、どの行に、いくつあるのか」(フォルダを再帰的に調べる場合はパスも含める) 等を出力したいと考えています。 ((search.php) #!/usr/local/bin/php -q <?php $file = $argv[1]; if (!$file) { die('このスクリプトは引数にphpファイルのパスを必要とします。'); } //この中に該当する関数を書き入れる $functions = array( 'preg_match', 'chdir', 'settype', 'system', ); function checkFunc ($line, $functions, $n = 1) { foreach ($functions as $func) { if (strpos($line, $func) === FALSE) { continue; } else { echo($n . '行目に、' . $func . '()が含まれています。' . PHP_EOL); } } } $handle = fopen($file, 'r'); $r = 1; while ($line = fgets($handle, 1024)) { checkFunc($line, $functions, $r); $r++; } fclose($handle); ((check.php)) <?php $string = 'Hello, this is Tom. I love apple'; preg_match('/.*(apple)$/i', settype($string, 'string'), $result); var_dump($result); var_dump(getcwd()); chdir('../'); var_dump(getcwd()); もうちょっとスマートに書きたいのですが、アドバイスを頂けないでしょうか? 自分としてはecho()で出力していくのではなく、「どの関数が、どの行に、いくつあるのか」を貯めていって、 Smartyの変数にassign()で格納し出力といった感じにしたいと思っているのですが、 「どのファイルに」「何行目」、「どの関数が」、「何個」という各変数の扱い方(格納の仕方)が分かりませんでした。 Linux,PHP5.3.8です。

    • ベストアンサー
    • PHP
  • 関数名をテキストから読み込む方法(文字列比較無し)

    C言語にて開発を行っています。 今回、テキストファイルに記述された関数名および引数を読み取り、プログラム側でこれを実行する処理を実装しようと考えています。 その際、テキストから読み込んだ文字列によって処理を振り分けることを省略したいと思っていますが方法が分からず困っています。 以下が読み取る対象のテキストファイルの例です。 @function_A;arg1;arg2 @function_B;arg1;arg2 ・・・ このとき、テキストファイルから読み取った文字列に応じた関数を実行する、というところまでは実装できています。 (読み取った文字列がfunction_Aであれば、同名の関数を実行します) 現在の実装は、以下のようなイメージです。 command = "読み取った文字列(@function_Aなど)"; if(command == "@function_A"){ function_A(arg1, arg2);} else if(command == "@function_B"){ function_B(arg1, arg2);} ・・・ しかし、この実装では関数が増えるに従って if(command == "function_X"){...}をどんどん追記していく必要があります。 今後関数の数が膨大になっていく予定なので、これを追記せずに読み込んだ文字列と同名の関数を実行できるようにしたいと思っています。 以下の様なイメージです。 function_A.cというファイルに関数function_A(arg1, arg2)を実装します。 同様にして、 function_B.cに関数function_B(arg1, arg2)を実装します。 main()内にて、 char command[] = "読み取った文字列(function_Aなど)"; command(arg1, arg2); とすることによって、function_A()関数を実行できるようにすることが目的です。 もちろん、この場合のcommandはchar型ですから、上記のような記法が不可能なことは分かっていますが、似たようなことを実装したいと思っています。 どのようにすれば実装できるのでしょうか。 今後、関数の数だけfunction_A.cのようなファイルが増え、最終的に200近くになる予定ですし、 if(command == "@function_A"){ function_A(arg1, arg2);} else if(command == "@function_B"){ function_B(arg1, arg2);} ・・・ の記述忘れによる動作不良を防ぐためにもこれを実装したいと思います。

  • VB.NET DLL【API関数(コールバック関数)】の呼び出し方法について

    目的は下記(3)のAPI関数をVB.NETで呼び出したいのですが、そこにいきつくまでにいろいろと壁にぶちあたっております。 (1)API関数をVB.NETから利用するにあたって どのような手順および調査・学習すればVB.NETからWin32 APIを独力で呼び出せるようになるのでしょうか?ネット上に情報が乏しく、いきずまっております。 (2)API関数の調査方法、またコールバック関数について 下記(a),(b)のようにWin32 API関数を宣言して、あとは呼び出し側の関数で(a),(b)で宣言したAPI関数を記述するだけで基本的には使用できるようになるという大まかなイメージはつかめております。 このあとでAPI関数をMSDNで調べると引数がHWNDやPCTSTRなど見慣れないものが出てきて、次のURL(http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html)を見ると、APIの型とVB.NETの型は違うので型変換をしなければならないとあります。またさらに私が呼び出したい関数はコールバック関数なるものでこれまた?な状態です。 そこでAPIとVB.NETの型変換の調査方法およびコールバック関数の利用方法などを教えていただけないでしょうか? (a)DllImport属性を利用する方法 <System.Runtime.InteropServices.DllImport("DLL名")> _ Function API関数名(仮引数) End Function (b)Declareステートメントを利用する方法 Declare Function API関数名 Lib "DLL名" (仮引数) (3)InstallHinfSection関数(http://msdn2.microsoft.com/en-us/library/aa376957.aspx)について 下記のコードを実行したのですが、実行時エラーにはならないのですが、APIの関数が動作してくれません。どこが悪いのかがまったく見当がつかないのですがどなたかアドバイスいただけると助かります。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click InstallHinfSection(Nothing, Nothing, "DefaultInstall 132 C:\INF_TEST\Original.inf", 0) End Sub   Declare Function InstallHinfSection Lib "setupapi" Alias "InstallHinfSection" (ByVal hwnd As String, ByVal ModuleHandle As String, ByVal CmdLineBuffer As String, ByVal nCmdShow As Integer) As Long APIが難しすぎていろいろとおかしなことを書いているかもしれませんが、どうぞよろしくお願いいたします。

  • PHPのcrypt関数について

    いつもお世話になっております。 ユーザーから入力していただいたパスワードをcrypt関数にて、暗号化したいのですが、 crypt($inpass); 以下のようなエラーメッセージがでてしまいます。 Call to unsupported or undefined function crypt() in この関数を使用するのに特別な作業等が必要なのでしょうか? 環境は Win98se ANHTTPD1.36 php4です。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPで、該当ファイルの一つ上のディレクトリ名を取得したいのですが、そ

    PHPで、該当ファイルの一つ上のディレクトリ名を取得したいのですが、そのような関数はございますでしょうか? 例えば、該当のページが 「http://example.com/abc/top.php」 だった場合、 「abc」を文字列として取得したいです。 自分のファイル名を取得する時はbasenameという関数を使う所までは 分かったのですが、一つ上のディレクトリ名を取得する関数を探す事が 出来ませんでした。ご教授頂けると大変助かります。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • VC++6.0からVB.NETで作成した関数を呼ぶことができますか?

    VB.NET(Visual Basic 2005 Express Edition)でクラスライブラリ(AAA.dll)を作成し、BBBというModuleにCCCというFunctionをひとつ作成しました。 そのFunctionをVC++6.0で作成したプログラムから呼び出すことは可能でしょうか?また、可能な場合はどのような手順で呼び出すことができるのでしょうか? ■VB6.0でDLLを作成した場合 DLLのファイル名とFunction名さえ指定すればVC++6.0よりLoadLibrary、GetProcAddress関数を使用して呼び出せる。 ■VB.NETでDLLを作成した場合 DLLのファイル名+Module名+Function名という構成になってしまい、従来のLoadLibrary、GetProcAddress関数ではModule名が指定できないように思われるのですが・・・どうなんでしょう。 ご存知の方いらっしゃいましたらご教授お願いいたしますm(_ _)m

  • 呼出する親関数のPG修正なしに子関数の追加、修正に対応したい

    お疲れ様です。 3日考えましたが分かりません。 よろしくお願いします 色んな処理に分岐するプログラム(VB6)があるとして、その分岐後の処理が頻繁に追加、修正されるとします。 その分岐するプログラムの修正、およびコンパイルなしで、分岐後の処理の変更に対応できるプログラムって作成可能でしょうか? ●イメージとして● ファイルとかDBに関数名を保存する。 そのファイルとかDBを参照して関数コールするって感じですが。 ファイルとかで取得した値で関数コールできますでしょうか?

専門家に質問してみよう