アプリ版:「スタンプのみでお礼する」機能のリリースについて

ある本によると「サブルーチンは渡された値を指示通りに処理し、結果を吐き出す箱のようなものである」とあります。イメージ図は本体が箱で上に煙突の様なものが突き出ていてそこからデータを入れて、箱の側面にも煙突があり、加工されたデータが出てくるイメージです。他にイメージはありますでしょうか。

A 回答 (3件)

指令を出すと決まったとおり値を出してくる



スイッチを押すとブザーが鳴る
スイッチを押す という値を渡し ブザーが鳴る という結果が返ってくる



・・・イマイチ
    • good
    • 0

>「サブルーチンは渡された値を指示通りに処理し、結果を吐き出す箱のよ


>うなものである」とあります。

#!/usr/bin/perl

$x = 1;
print &a($x);

sub a(){
return $_[0]*2;
}


上記の $x = 1; の数値を色々変えて実行すればわかります
このサブルーチン a() を、あなたの読んだ本の言葉で言えば

渡された値 : $x (引数)
指示通りの処理: $_[0]*2 (この場合は2倍するだけ)
結果を吐き出す:return (戻り値)

イメージは特にありませんが、これを数学的に書けば

y = 2x

です x の値により y が決まると言うことです
    • good
    • 0

Perlの引数は 一次元配列 @_($_[0], $_[1], $_[2], ....)によって渡されるので,私の頭の中にはこんなイメージがあります。



 +――――+
9|■■■■|2,3,4
←|■■■■|←←←←←
 +――――+

右側から複数の材料(引数)がベルトコンベアに乗って一列に流れてくる(一次元配列@_)と,それがブラックボックス(関数)に吸い込まれて,加工製品(戻り値)が1つ出てくる。

#2を真似するなら,こんなコードを想定しています。

print &a(2, 3, 4);

sub a(){
  ($x, $y, $z) = @_;
  return $x + $y + $z;
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!