私はツリートップを学ぼうとしていて、名前を解析するためにhttps://github.com/survival/lordbishopからほとんどのコードを取得していて、そこから構築するつもりでした。
ruby コマンドラインではなく、Rails でビルドしているため、私の構造は少し異なります。
非常に単純な解析を実行すると、スペースで解析エラーが返されます (これは私の文法ではより単純なものの 1 つです。何が間違っているのでしょうか?
私のモデルでは、私のコードはかなり単純です
「梢」が必要 「多言語」が必要 「文法/名前」が必要 クラス名 def self.parse(データ) パーサー = FullNameParser.new ツリー = パーサー.parse(データ) もしtree.nilなら? return "オフセットでの解析エラー: #{parser.index}" 終わり result_hash = {} tree.value.each do |ノード| result_hash[node[0] = node[1].strip if node.is_a?(配列) && !node[1].blank? 終わり result_hash を返す 終わり 終わり
文法のほとんどを削除して、単語とスペースを取得するだけにしました
文法フルネーム ルールワード [^\s]+ { デフォルト値 テキスト値 終わり } 終わり ルール [\s]+ { デフォルト値 "" 終わり } 終わり 終わり
「john smith」を解析しようとしています。単語とスペースを取得して、そこからロジックを構築することを望んでいましたが、この単純なレベルでも立ち往生しています。助言がありますか??