No.1
- 回答日時:
プログラムのリターン値って元々1つしかありません。
「複数のリターン値」ってどういう意味でしょう?
COBOLの場合、リターンコードは、
MOVE 1 TO RETURN-CODE.
のように特殊変数に整数値をセットし、それをシェルでは $? という特殊変数で参照します。
何か複数の処理結果を得たいなら、リターンコードではなく、標準出力に文字列で書き出してそれを使うんでしょうね。
この回答への補足
早速のご回答、ありがとうございます。
記述が悪くて申し訳ありませんでした。
細かい話になってしまいますが、
例えば、シェルからCOBOLプログラムをCALLして、
COBOLプログラムで得た、日付と金額をシェルに返したい場合は、どのように行えばよろしいでしょうか?
No.2
- 回答日時:
リターン値(戻り値)は1つしかありません。
で呼ばれた方から呼び元へ複数の値を返す考え方は2つあります。
1つは、複数の値を一定の規則で1つに合成して
リターン値として返し、
呼び元で元に戻すという方法です。
もう1つは、引数のアドレス渡し・・・。
(普段、無意識で行っているのは値渡しと言います。)
返して欲しい値を設定して欲しい変数のアドレスを引数として渡す方法です。
COBOL は、変数のアドレス指定が出来たはずなので・・・。
ただ、シェルスクリプト側で変数のアドレスが使えたかはちょっと知識不足で・・・。
No.3ベストアンサー
- 回答日時:
>例えば、シェルからCOBOLプログラムをCALLして、
>COBOLプログラムで得た、日付と金額をシェルに返したい場合は、どのように行えばよろしいでしょうか?
そういうのは、リターン値と言わず、処理結果などと言います。
COBOLプログラムで
(前略)
1 OUT-DATA.
5 HIZUKE PIC X(10).
5 FILLER PIC X VALUE SPACE.
5 KINGAKU PIC 9(8).
(中略)
MOVE '2005/04/22' TO HIZUKE.
MOVE 1050 TO KINGAKU.
DISPLAY OUT-DATA.
(後略)
シェルでは、種類によって違いますが、プログラム名をcblpgmとして、
(1) sh の場合
set -- `cblpgm`
echo 日付け=$1 金額=$2
(2) bash の場合
A=(`cblpgm`)
echo 日付け=${A[0]} 金額=${A[1]}
(3) csh の場合
set a=(`cblpgm`)
echo 日付け=$a[1] 金額=$a[2]
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ブラウザ) python から COBOL を呼び出すことは可能でしょうか。 1 2023/04/21 21:03
- その他(プログラミング・Web制作) COBOL計算 2 2022/11/18 14:35
- その他(プログラミング・Web制作) Linuxについて質問です。 引数に指定されたアクセスログのファイルからアクセス数が多い順に上位3つ 1 2023/02/03 03:46
- その他(資産運用・投資) NISA一般口座 10%の利益 売却するべきか 4 2023/06/06 22:15
- その他(プログラミング・Web制作) linuxについて質問です 1 2023/02/06 19:55
- 外国株 SBI証券でidecoを検討しています。 SBI証券ホームページ(https://go.sbisec 1 2022/10/10 16:06
- その他(車) 若いうちに良い車を買うのは人生的に得られるリターンが多いと捉えて良いのでしょうか。 14 2022/10/29 22:32
- 外国株 積み立てNISAの商品を選ぶ基準 5 2022/06/22 13:06
- その他(プログラミング・Web制作) cobolで実行環境って何ですか? 2 2023/02/23 11:38
- IT・エンジニアリング FORTRAN、COBOL、C、Java、C++とか誰が作ったのですか?言語習い使いまた出て、キリが 4 2023/05/06 23:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
乱数をC言語で
-
パソコンでインターネット接続...
-
ubuntuで デイスク/deb/loopと...
-
タイピングの癖
-
VB.netでDLLを読み込んで実行す...
-
printf / sprintf のスタック消...
-
ルータの負荷対策でL2スイッチ...
-
第一級陸上特殊無線技士
-
SP領域とはなんですか?
-
タイピングソフト
-
Cプログラミングの関数電卓のア...
-
スタックの仕組み
-
アセンブラでmain関数から作成...
-
スタックとキューの使い所
-
マス目上の移動のアルゴリズム
-
サブネットマスクが255.255.255...
-
イーサネット10Mbpsの通信速度...
-
C言語・スタックを使用した逆...
-
基本情報技術者のデータ構造あ...
-
サンプル文章が長文のタイプ練...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラムの規模を表す単位「k...
-
ライン数とステップ数の違いに...
-
ステップ数について
-
ステップ数??
-
ステップカウントツールが作成...
-
VB6.0で #の意味
-
STEPについて
-
シェルスクリプトについて
-
基本情報技術者の擬似言語プロ...
-
現在時刻の取得
-
三菱シーケンサ FX2Nについて
-
ドット絵のようなやつを作るに...
-
プログラムで 一番大きい を定...
-
プログラムから追加したドロッ...
-
c言語プログラミングのプログラ...
-
パソコンでインターネット接続...
-
ubuntuで デイスク/deb/loopと...
-
Macと iPadの違いについて 今現...
-
命令口調について
-
VB.netでDLLを読み込んで実行す...
おすすめ情報