PowerShellの関数呼び出しについて

このQ&Aのポイント
  • PowerShellでの関数呼び出しでエラーとなります。エラーを出さないようにする方法はないのでしょうか?
  • VBScriptで行っているバッチ処理をPowerShellに移行している初心者です。答えが得られずの質問になります。
  • お時間がある時で構いませんので、ご回答をお願い致します。
回答を見る
  • ベストアンサー

PowerShellの関数呼び出しについて

PowerShellでの関数呼び出しでエラーとなります。 (定義より前にコールしているので当たり前なのですが) ********** (大まかな処理内容です) ********** call main() main() { 処理 } ******************************************************** 【質問1】  ・エラーを出さないようにする方法はないのでしょうか?   (例えばC言語のプロトタイプ宣言のような) <補足>  現在VBScriptで行っているバッチ処理をPowerShellに移行している初心者です。  色々検索はしましたが、答えが得られずの質問になります。  お時間がある時で構いませんので、ご回答をお願い致します。

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

  • ベストアンサー
  • heburusu
  • ベストアンサー率85% (140/164)
回答No.1

PowerShellにプロトタイプ宣言のようなものはないみたいですね。 #単純に上から順番に解釈・実行されていく 関数定義の部分は別のファイルに分離して、includeするようなことはできるみたいなので、 見通しよくする目的でしたら以下のような感じになりそうです。 -- . "./main.ps1" main --

参考URL:
http://stackoverflow.com/questions/3917592/why-do-i-need-to-have-my-functions-written-first-in-my-powershell-script
1380649874335
質問者

お礼

ご回答ありがとうございました。 ご提示の方法も試してみたいと思います。

関連するQ&A

  • 関数の呼び出し

    エクセルの2列5行のファイルがあるとします、 このファイルの各列の平均を求める関数をheikinとします。 エクセルの2列のデータの平均を関数heikin(プロトタイプ宣言)のみでの求め方が解かりません。 また、求めた値をmain関数に返した後、別の関数(プロトタイプ宣言)でのheikinの呼び出しかたが解かりません。 各列ごとにプロトタイプ宣言を行えば求まるのですが、 どうかよろしくお願いします。

  • Borland C++ Compiler 5.5でland関数がコンパイルできません

    初歩的な質問ですみません。C言語のプログラミングの質問です。 タイトルどおり、Borland C++ Compiler 5.5でland関数がコンパイルできません。OSはWindows XPで、「c言語を始めよう!」を使ってプログラムを作っています。 今まで学校でunixを使っていたので、その時は何の設定もせずに使えたので普通に使ったのですが、”プロトタイプ宣言のない関数 'rand' の呼び出し”や”プロトタイプ宣言のない関数 'srand' の呼び出し”というエラーが出ます。 timeを使うために#include <time.h>が必要だったり、そのようなunixでは不必要だった下準備が必要なのでしょうか?

  • main関数を先頭に置くデメリット

    C言語で、main関数を先頭に置き、他の関数はプロトタイプ宣言だけ済ませて mainの後に置くという書き方に何かデメリットはあるのでしょうか。 何かの書籍で、「mainは先頭に置く方が何かと良い」と書いてあったので気になっています。

  • 関数のプロトタイプ宣言の文法は次のようになります。

    関数のプロトタイプ宣言の文法は、次のようになります。   型 関数名(引数);  関数定義から処理部分を取り除き、ひとつのステートメントとして完結するように、文末に; を付けてたものになります。  基本的に関数を呼び出すための形式を宣言するためのものですから、型、関数名、引数は 関数定義と同じになります。プロトタイプ宣言は、対象となる関数を呼び出す前に行う必要があります。     以上は参考書の説明ですが!「関数定義から”処理部分”を取り除き」とあります。  その中の”処理部分”とは何を指すのでしょうか!?  宜しくお願いします。  

  • 教えてください

    初心者なので、バカな質問かもしれませんがお願いします。 警告 W8065 sample2.c 8: プロトタイプ宣言のない関数 'it' の呼び出し(関数 main ) エラー E2379 sample2.c 8: ステートメントにセミコロン(;)がない(関数 main )とはどういう意味ですか?

  • 関数のプロトタイプ宣言

    #include <stdio.h> #define N 3 #define M 4 int sum(int [][M]); (関数のプロトタイプ宣言) int main(){   ・   ・   ・ return(0); } int sum(int x[][M]){    ・    ・ } 以上のプログラムより、関数のプロトタイプ宣言や、関数内の 行列の定義でint sum(int [][M]);や int sum(x[][M]){}となっていますが なぜ、列にMだけを代入することだけでよいのでしょうか? また、教科書に関数のプロトタイプ宣言ではint sum(int [][]);だけでもよいと書かれていたのですが 実際、コンパイルしてみたところ 'int[]' 型のサイズは未知あるいはゼロとエラーがでました。 これは、コンパイラによってできるものとできないものがあるのでしょうか?? よろしくお願いします。

  • C言語で分割ファイル先の関数を呼び出す時

    いつもお世話になっております. C言語の関数の呼び出しについて質問があります. main文と同じファイルにある関数は,main文より上に記述している場合は プロトタイプ宣言で呼び出すことが出来ますが,ファイルを関数ごとに分割した場合はどうしたら良いのでしょうか? 例えば main_file.c と function_file.c という2つのファイルがあり, それぞれ main と function という関数を持っているとします. main文からfunction関数を呼び出したい場合, 私はいつも main_file.c 内で include "function_file.c" としていますが, これが一般的な方法なのでしょうか? 問題点や改善点を挙げて頂けると助かります. よろしくお願い致します.

  • borlandでコンパイルすると、「プロトタイプ宣言のない関数 'exit' の呼び出し」という警告が出てきます。

    borlandでコンパイルすると、「プロトタイプ宣言のない関数 'exit' の呼び出し」という警告が出てきます。 一応ソースの文頭には、 #include<stdio.h> を入れているのですが、この警告を出なくするのにはどの様にしたらいいのでしょうか?

  • プロトタイプ宣言について

    C言語で関数を作成しプロトタイプ宣言するときの質問です。 関数実体の引数に構造体のポインタを宣言します。 プロトタイプ宣言には,構造体のポインタを宣言したのと同じ位置にvoid *を宣言します。 関数実体とプロトタイプ宣言は,異なるファイルです。 このように作成した関数は,VC++2008では,コンパイルできるのですが, なぜ関数実体の宣言とプロトタイプ宣言の型が異なるのにコンパイルできるのでしょうか? また,この関数を別ファイルの関数から呼び出した場合,正しく引数を理解し,正しく処理されます。 これは,言語仕様として正しい書き方なのでしょうか? それとも環境依存の書き方なのでしょうか? ご存知の方がいましたらお答えお待ちしています。

  • 関数呼び出しについて質問です

    関数呼び出しについて質問です 私は今以下の様なプログラムを作成し実行しました #include <stdio.h> int i = 1; void infinity(void) { printf("%010d\n",i++); infinity(); } void main() { infinity(); } 関数を無限に呼び出すプログラムです 私が使っているパソコンでは4721回関数呼び出しができました そこで質問なのですが 1関数呼び出しは有限回であることがわかったが他のパソコンと比べるとどのくらいの差になるのか? 2関数呼び出し回数の上限は何によって(OS、ソフト)決められているのか? この2つお願いします

専門家に質問してみよう