オマエ スマホ ゲンシジン 魏延 ナル


# ガイヨウ
オレ オマエ **スマホ ゲンシジンスル** プログラム カイタ
オレ **[【オマエ】](https://qiita.com/Harusugi/items/f499e8707b36d0f570c4)** ダイスキ
トモダチ ミンナ スマホ ダイスキ
トモダチ フヤス **ピィ ダブル エェ** デキタ

オマエ コレ ミル
**[【オマエ スマホ ゲンシジン ナル！】](https://genshijin-64e10.firebaseapp.com/)**

ピィ ダブル エェ スマホ ツカエル！
アピ イラナイ ツウシン イラナイ ツカエル！ アプリ ニテル！
モチロン **魏延** イル！

# サンプル

ツカウ カンタン！
<img width="275" alt="Genshijin_02.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/193512/25aa0251-f9d1-12ed-4a65-42a699bf7519.png">

オマエ コレ タメス
**[【オマエ スマホ ゲンシジン ナル！】](https://genshijin-64e10.firebaseapp.com/)**



# ドウサ カンキョウ
パソコン、ウィン、マック
スマホ、アンドロ、アイホン
ピィ ダブル エェ ミンナ トモダチ！

# ピィ ダブル エェ？
**オマエ ググル ワカル**
ゲンシジン シンセツ ナイ
ゲンシゴ ピィ ダブル エェ セツメイ ナイ

アンドロ クロム ナド
アイホン サファリ ダケ
「ホーム ガメン ツイカ」 エラブ
アプリ ミタイ ツカエル
オマエ **「キナイ モード」** スル
アプリ ツウシン イラナイ ウゴク！
ギガ ウレシイ ハヤイ トモダチ！

# ツクル カンキョウ
ジャバスクリプト
[モナカ](https://ja.monaca.io/)
[クロモジ ジェイエス](https://github.com/takuyaa/kuromoji.js)
ファイヤ ベエス

# ジッソウ
オレ ジャバスクリプト コウブン カイセキ
[【クロモジ ジェイエス】](https://github.com/takuyaa/kuromoji.js)
[【コレ ミル】](https://qiita.com/FiftyStorm/items/6f9e96c9ff46af8a9ca6)
ジェイエス コウブン カイセキ デキル オドロキ！

オレ モナカ **ピィ ダブル エェ** ファイヤ ベエス
[【モナカ】](https://ja.monaca.io/)
[【コレ ミル】](https://qiita.com/keeey/items/82ad55a7614135df74df)
モナカ **ピィ ダブル エェ** サイキン タイオウ！
モナカ **ファイヤ ベエス** アプリ デプロイ カンタン！

# オレ ウレシイ
アピ イラナイ！
ネット ツウシン イラナイ！
スマホ イレル ウゴク！
ピィ ダブル エェ アプリ ニテル！
**ムリョウ バンザイ！**

# コード

<details><summary>オマエ ココ クリック テンカイ スル</summary><div>

イチ. 
モナカ クラウド アィ ディ イィ ハイル
ニ. 
ピィ ダブル エェ サンプル エラブ
サン.
クロモジ ジェイエス コード カク
エイチ ティ エム エル ショウリャク
ヨン.
ファイヤ ベエス デプロイ モナカ カンタン

コード テキトウ

```js 

console.log("LOAD_TOKENIZER...")

////kuromoji.js初期化処理////
// kuromojiオブジェクトの定義
let kuromojiObj;

// kuromojiオブジェクトの作成
//パスは、index.htmlからのパスになる点注意
kuromoji.builder({
    dicPath : "script/dict/"
}).build(function(error, _tokenizer) {
    if (error != null) {
        console.log(error);
    }
    kuromojiObj = _tokenizer;
});

// kuromojiオブジェクトの取得
let getKuromojiObj = function() {
    return kuromojiObj;
};

console.log("LOAD_KUROMOJI")

//文字列とフラグを入力すると、カナのリストを返却する
//時間がかかる場合にそなえてPromiseにしている
function strToGenshijin(input_str, GIEN_FLG) {
  return new Promise((resolve,reject) => {
    console.log("[START-strToGenshijin]");
    console.log(input_str);
    console.log(GIEN_FLG);
      // tokenizer.tokenize に文字列を渡すと、その文を形態素解析します。
      try {
        // kuromojiオブジェクトの取得
        let tokenizer = getKuromojiObj();
        //var tokens = tokenizer.tokenize("人民の人民による人民のための政治");
        //var tokens = tokenizer.tokenize("菜の花や月は東に日は西に");
        var tokens = tokenizer.tokenize(input_str);
        console.log(tokens);
      } catch(e){
        console.log(e);
        reject(e);
      }
      //console.dir(tokens);
      //return tokensToGenshijin(tokens, GIEN_FLG);
      resolve( tokensToGenshijin(tokens, GIEN_FLG) );
  })
}


//形態素解析後のリストと、魏延フラグを投入すると、カナのリストを返却する
function tokensToGenshijin(tokens_list, GIEN_FLG) {
  var result_list = []
  for(let i = 0; i < tokens_list.length; i++) {
    word_info = tokens_list[i];
    console.log(word_info);
    word_pos = word_info["pos"];
    //詳細な品詞はkuromoji.jsには無い
    //if (word_pos != "格助詞" && word_pos != "連用助詞" && word_pos != "引用助詞" && word_pos != "終助詞") {
    if (word_pos != "助詞") {
      if (GIEN_FLG == 1) {
        //魏延モード
        word_kana = hiraToKana(word_info["surface_form"])
      } else {
        //通常モード
        word_kana = word_info["pronunciation"];
      }
      
      result_list.push(word_kana);
    }
  }
  console.log(result_list)
  return result_list
}

//ひらがなからカタカナに変換関数
function hiraToKana(str) {
    return str.replace(/[\u3041-\u3096]/g, function(match) {
        var chr = match.charCodeAt(0) + 0x60;
        return String.fromCharCode(chr);
    });
}

function onButtonClick(GIEN_FLG) {
  console.log("Click!")  
  target = document.getElementById("input_textarea");
  //改行除去
  input_str = target.value.replace(/\r?\n/g, '');
  console.log(input_str)
  //result_list = strToGenshijin(input_str, 1);
  strToGenshijin(input_str, GIEN_FLG).then(function (result_list) {
    //非同期処理成功
    display(result_list, GIEN_FLG);
  }).catch(function (error) {
    console.log(error);
  });
}

//表示する
function display(result_list, GIEN_FLG) {
  if(0 < result_list.length) {
    if( GIEN_FLG >0 ){
      document.getElementById("result_div").innerHTML = result_list.join("……");
    }else{
      document.getElementById("result_div").innerHTML = result_list.join("  ");
    }
  } else {
    document.getElementById("result_div").innerHTML = "";
  }
}

```


</div>

# ケッカ

```js 
人類の進化は「遊び」からはじまる。
こんな「遊び」が出来るならば、
というアイデアに触発される人がでて、
生活にも役に立つような「発明」が生まれるのだ。

⇒ ⇒ ⇒

ジンルイ シンカ 「 アソビ 」 ハジマル 。
コンナ 「 アソビ 」 デキル ナラ 、 
アイデア ショクハツ サ レル ヒト デ 、 
セイカツ ヤクニタツ ヨー ナ 
 「 ハツメイ 」 ウマレル ノ ダ 

```

# マトメ

ミンナ スマホ ゲンシジン ナッタ
アピ ツウシン ナシ ツカウ デキル！

**[【オマエ スマホ ゲンシジン ナル！】](https://genshijin-64e10.firebaseapp.com/)**

オマエ コレ スマホ イレル デキル！
**トモダチ イッパイ！**
**魏延 イッパイ！**

ヒコウキ ナカ ゲンシジン 魏延 デキル！

# ギジュツ カダイ メモ

<details><summary>オマエ ココ クリック テンカイ スル ミナクテ ヨイ</summary><div>

スマホ ピィ ダブル エェ
アプリ コウシンジ キャッシュ ノコル
コウシン ハンエイ ジドウ ヨイ ホウホウ フメイ

アイホン ホーム ツイカ ワカリニクイ オキニイリ ニテル

クロモジ ジショ オモイ ヒドウキ ウマク コウリョ

モナカ クラウド アイ デイ イイ ピィ ダブル エェ デバグ デキナイ
コンソル ログ デナイ ウゴキ イマイチ
モナカ ロカル キト デバグ デキル

コード インペイ ホウホウ フメイ

アルフアベツト タイオウ シテナイ
クロモジ ジショ カクチョウ シテナイ セイド ヒクイ

<div>