問題タブ [subroutine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - コードのブロックを受け入れる Perl サブルーチンを作成する方法
次のような一連のサブルーチンがあります。
同じように見えるものが 4 つ以上ありますが、変更されているのは while ブロックの本体だけです。これを抽象化し、コードをコピーして貼り付けるのをやめたいと思います。
- コードのブロックを受け入れて実行するサブルーチンをコーディングする方法はありますか?
より多くのコンテキストを提供するために、さまざまな foo サブルーチンは、さまざまなファイルの内容を読み取り、データをハッシュ参照にフィードする別の有限状態マシン (FSM) です。たぶん、私が達成しようとしていることよりも知的なことがあるでしょう。
perl - Perl が正しく印刷されない
OK、以下に示すようなサブルーチンがいくつかあります。私の問題は、実際のコマンドが完了するまで印刷機能が印刷されないことです
。「Has MySQL、Installing:」と印刷してから、コマンドを実行して OK を出力します。私はすでにスリープを使用して $ssh_d オブジェクトをクリアしようとしました。アドバイスをいただければ幸いです。この特定のサブの変数について心配する必要はありません。問題はいたるところで発生しています。みんなありがとう。
.net - 関数が続行するには、関数によって呼び出されたサブルーチンを終了する必要がありますか?
関数内でサブルーチンが呼び出された場合、関数はそのサブルーチンが完全に終了するまで常に待機してから、残りの関数を続行しますか?もしそうなら、それを待たずに残りの関数を続行し、サブルーチンで何が起こるかを気にしないようにする方法はありますか?
excel - 変数を使用したExcel VBAコールサブルーチン
次のサブルーチンを定義しました。
次のようにサブルーチンを呼び出すと:
次のエラー メッセージが表示されます。
このメッセージが表示される理由がわかりません。誰かが私が欠けているものを知っていますか?
objective-c - 自己メッセージの代わりに関数呼び出し — いつ何を使用するか?
Objective-C では、サブルーチンを呼び出したいときに、次のようなメッセージをオブジェクトに送信します。
[self mySubroutine:myParameter];
(無視できる程度の?) パフォーマンスの低下があるため、C スタイルの関数呼び出しを使用できます。
mySubroutine(myParameter);
後者の実装は、クラスの@implementationコンテキストの外に存在します。
これはノーノーですか?それは一般的ですか?これに関するベストプラクティスはありますか?
excel - Excel VBA サブルーチン呼び出しが失敗する
次の問題があります。セル範囲の背景色を変更するサブルーチンを呼び出したいです。セル範囲は、cells(1,1) で計算され、アドレスは A1 を受け取るように計算されます。
サブルーチンが呼び出される前に、次のようにセルのアドレスを取得します。
サブルーチンは次のように宣言されているため、これが必要だと思いました。
範囲 1 と範囲 2 は文字列であり、範囲宣言に連結します。
次のようにサブルーチンを呼び出すと:
次のエラー メッセージが表示されます。
「実行時エラー '1004': オブジェクト '_Global' のメソッド 'Range' が失敗しました。正しいセル値でサブルーチンを呼び出すと、次のようになるため、理解できません:
できます。これは文字列であり、同じ値です。これは単にあり得ませんか?
c# - C#のサブルーチン
私はC#に少し慣れていないので、サブルーチンを呼び出す方法がよくわかりません。これが私がやろうとしていることです:
残念ながら、これは機能しません。「ステートメントとして使用できるのは、代入、呼び出し、インクリメント、デクリメント、および新しいオブジェクト式のみです」というエラーが発生します。
Button1_ClickイベントからStartExstreamサブを呼び出すにはどうすればよいですか?
ありがとう、ジェイソン
編集:
}
excel - 'ThisWorkbook'の下でVBAコードを失う(Private Sub WorkBook_Open())
背景の最初の3つの要素:
- 私はExcelテンプレートを作成しました。これは、ユーザー名、ユーザーコメント、および保存データのパス名がパーソナライズされたテンプレートに埋め込まれている「パーソナライズされたテンプレート」を作成するために使用されます。
- パーソナライズされたテンプレートは、毎月のワークブック(実際にはタイムシート)を作成するために使用されます
- テンプレートはVistaで実行されているOffice/Excel 2007で作成されていますが、(現在の)ターゲット環境はXPProfessionalで実行されているOffice/Excel2003の企業ネットワークです。したがって、両方のテンプレートはExcel 2003テンプレートとして作成されます(開発環境では互換モードで実行されます)
これまでのところ、非常に優れています-テンプレートは開発環境でうまく機能します-「パーソナライズ」コードはWorkBook_Open(「ThisWorkbook」の下の)ルーチンにあります-それは実行され、それ自体を削除し、パーソナライズされたテンプレートとして保存されます。どちらのテンプレートにも、Sheet1コードに「プロセスマクロ」があります(ここでの原則は、最初のテンプレートには「ThisWorkbook」と「Sheet1」にマクロがあります。パーソナライズされたテンプレートには、「Sheet1」とパーソナライズされたテンプレートから作成されたワークブックにのみマクロがあります。マクロはまったくありません。
「ベータテスト」では、XP(ファイル形式)でのExcel2000に問題があり、ターゲットマシンでは、Excel2007 / Vistaですべてが正常に機能したにもかかわらず、WorkBook_Openルーチンがメインテンプレートで削除されました(パーソナライズされたテンプレートではありません)。
当時、Workbook_Openの無効な削除はおそらくコーディングエラーであると感じていましたが、問題を調査しているときに、「MacafeeによるVBAモジュールの削除」への参照がいくつか見つかりました。私はこれらを調べませんでしたが、すべてのコンピューターがノートンを実行している間、ターゲットマシン(および環境)がマカフェを実行していることを意識していました。
再コーディングした後、次のように再テストに成功しました。
a)Excel 2007 / Vista / Norton
b)Excel 2007 / XP Professional / Norton
c)Excel 2000 / XP Home / Norton
Excel 2003 / XP Professional/Macafeeで再テストするのが快適だと感じました
今回はそれを監視していました-それで、もう一度、WorkBook_Openルーチンがメインテンプレートから誤って削除されたのを見ました-残念ながら、これはUSBメモリキー(テンプレートが実行されていた場所)が完全に破壊される少し前のことでした。
それで、質問に-私がプロセス全体をもう一度通過する前に:
- Macafeeが「自動実行」VBAモジュールを削除したという客観的な証拠はありますか?
- はいの場合、回避策はありますか(このテンプレートは、1万の企業で3人が使用するため、セキュリティポリシーに影響を与えたり変更したりする方法はありません!!! :()-ある場合Macafeeの問題です。それなら、全体を考え直さなければなりません。
excel - 選択したケースでExcel VBAが複数のサブルーチンを呼び出す
次のコードがある場合:
ケース1でいくつかのサブルーチンを呼び出したい:
どうすればそれができますか?
最高、米国
arrays - 各配列を個別に出力するサブルーチンに配列を渡す
これはおそらく簡単な修正であることはわかっていますが、Google で答えを見つけることができず、ここで質問を検索することもできませんでした。
私の目標は、複数の配列をサブルーチンに渡すことです。サブルーチンは、各配列を個別に繰り返し処理し、各配列を前後に出力します。
私が持っているもの:
私が取得しようとしているものは次のとおりです。
123@@@456@@@
代わりに、両方の配列を 1 つとして扱い、配列内の各変数を反復処理します。すべての変数の後にセパレーターを配置すると、配列全体が逆になります。
1@@@2@@@3@@@など.....
配列を 1 つではなく個別に扱うようにサブルーチンを取得する方法がわかりません。
どんな助けでも大歓迎です!