タグ

TechnologyとreturnValueに関するtsupoのブックマーク (1)

  • need_result - 新言語 Xtalを作る日記

    // (2007/6/12) 間違えて、この日の日記を一回消してしまいました。 最近実験的に追加した機能で「need_result」というものがあります。 意味ですが、これは「関数呼び出し元が、戻り値を必要としているかどうか」をtrueかfalseかで返す擬似変数です。 例で示します。 foo: fun(){ if(need_result){ "yes".p }else{ "no".p; } } a: foo(); //=> yes foo(); //=> no このとおり、関数呼び出しの結果が使われないような関数呼び出しで、need_resultはfalseとなります。 利用方法として、例えば「副作用が無い関数なので、戻り値が使われないような使い方をされたらエラーにしたい」場合とか fib: fun(i){ assert need_result; if(i<2){ return 1; }

    need_result - 新言語 Xtalを作る日記
    tsupo
    tsupo 2007/06/11
    「関数呼び出し元が、戻り値を必要としているかどうか」をtrueかfalseかで返す / 副作用が無い関数なので、戻り値が使われないような使い方をされたらエラーにしたい / 戻り値が要らないなら、返す値の計算はしない
  • 1