フォロー

コードをモジュール化するときにfunction文の扱いでハマったのでメモ。

○症状
複数のサブルーチンやfunctionを含むソースコード内で、同一ソースコード内にあるfunction(仮に名前をhogeとする)が、ソースコード全体をmoduleの中に含めた途端、そのfunctionを呼んでも見つからないというエラー(エラーメッセージを忘れた……)が出るようになった。

○解決策
1. 呼ぶ側のサブルーチンで、hogeを変数として定義するのを止める。
2. 呼ばれる側のfunctionでは、hogeに戻り値を入れるのではなく、result(hogehoge)とか、別の変数を戻り値とするよう変更。

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。