経緯
IRC で一句 bot が導入された結果「ここで一句 ごんごさん やるっていうと やらないし」とか朝から dis られる結果になった
— Wataru MIYAGUNI (@gongoZ) 2015, 2月 19
一句詠んでますか
いろいろあって作りました。
使う前に
mecab
コマンドを使用するので、各自インストールお願いします。
使い方
(ikku/find)
で、指定した文字列から一句を一つ見つけます。無ければ nil を返します。
(require 'ikku) (setq song (ikku/find "ああ古池や蛙飛び込む水の音ああ")) ;; [cl-struct-ikku:song] (ikku:song-to-string song) ;; "古池や 蛙飛び込む 水の音" (ikku:song-to-string song "/") ;; "古池や/蛙飛び込む/水の音"
(ikku/search)
では、指定した文字列から一句をあるだけ見つけます。無ければ空リストを返します。
(dolist (song (ikku/search "ああ古池や蛙飛び込む水の音ああ天秤や京江戸かけて千代の春ああ")) (message (ikku:song-to-string song "/"))) ;; 古池や/蛙飛び込む/水の音 ;; 天秤や/京江戸かけて/千代の春
中身について
新たにロジック考えるのめんどくさかったので、作る経緯となった r7kamura/ikku をほぼ参考にしました。感謝 id:r7kamura 。
あと、Ruby のコードをなるべく労力を減らして Emacs Lisp として持ってくるために、初めて magnars/dash.el を使用してみました。さすがに使いやすくて良い。ただ途中から導入したので、もしかしたら dash.el
関数におきかえられるやつが残ってるかもしれない。まあいいか。
まとめ
雑に一句詠んで人生過ごしたい