【GAS】今日の占いカスタム関数:uranai()

Google Apps Script

どーも!marusukeです!

今回は、Google Apps Scriptでカスタム関数uranai()を作りました!(息抜き記事です!笑)

コード

/**
 * 星座占いの結果を返すカスタム関数
 *
 * @param {string} seiza - 星座(ひらがなで入力)
 * @return {string} 占いの結果
 * @customfunction
 */
function uranai(seiza) {
  var seizaList = ['おひつじ', 'おうし', 'ふたご', 'かに', 'しし', 'おとめ', 'てんびん', 'さそり', 'いて', 'やぎ', 'みずがめ', 'うお'];
  var results = ['大吉', '中吉', '小吉', '吉', '末吉', '凶', '大凶'];

 // 引数が空欄かどうか確認
  if (!seiza) {
    return '星座を入力してください。';
  }

  // 引数が有効な星座か確認
  if (seizaList.indexOf(seiza) === -1) {
    return '無効な星座です。ひらがなで入力してください。';
  }

  // ランダムに結果を選ぶ
  var randomIndex = Math.floor(Math.random() * results.length);
  return results[randomIndex];
}

コードの説明

仕組みはいたってシンプルです!

  1. seizaListリストに星座のデータを、resultsリストに大吉などの占い結果を格納します
  2. if (!seiza)のif文で、引数に値が入っているかどうかを確認します
  3. if (seizaList.indexOf(seiza) === -1) のif文で、有効な星座が引数に入力されているかをチェックします
  4. Math.floor(Math.random() * results.length);の部分で、
    • Math.random() * results.lengthでは、Math.random()でランダムな値とresults.length(つまり7)を掛けて、0以上6.999,,,のランダムな浮動小数点数を生成します
    • Math.floor()で、上記で作成されたランダムな浮動小数点数の値の小数点を切り捨てて整数にします
  5. 変数randomIndexの値で、結果をresultsリストから返します

以上です!

ここまで読んでいただきありがとうございました!

コメント

タイトルとURLをコピーしました