注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
Schemeで、複数の値を関数の戻り値にしたい場合、 いくつかの方法が考えられる。 ひとつは返したい値を... Schemeで、複数の値を関数の戻り値にしたい場合、 いくつかの方法が考えられる。 ひとつは返したい値を全部リストにまとめるという方法で、 一番簡単ではある。 あるいは、 valuesとcall-with-values(とかSRFIで定義されているlet-valuesとか) を使う事もできる。 それ以外にCPSを使う方法もあり、ここではそれを説明する (values、call-with-valuesがあるから わざわざCPSで多値を扱う必要はないけれど)。 例えば、数値リストの最大値と最小値の両方を返す関数を考える。 最大値・最小値をリストにして返す方法だと、次のようにできる。 (define (max&min xs) (list (apply max xs) (apply min xs))) この関数を使ってみると (max&min '(5 3 2 0 -3 10)) ⇒ (10 -3)
2008/02/12 リンク