ゲレンデがとけるほどくだらないスクリプト - すぎゃーんメモã«å¼ãç¶ãããã ããªãã¹ã¯ãªãããã
ä»åº¦ã¯åè©ã®åã«ãå
¨è£¸ã§ããæ¿å
¥ããã
#!/opt/local/bin/perl use strict; use warnings; use JSON 'decode_json'; use LWP::Simple 'get'; use Text::MeCab; use Readonly; Readonly::Scalar my $zenra => 'å ¨è£¸ã§'; # å¼æ°ã«æç« ãããã°ããã対象㫠my $text = shift; if (defined $text) { print zenrize($text), "\n"; } # å¼æ°æå®ãç¡ãå ´åã¯Wassrã®Public Timelineã使ç¨ãã else { my $json = get 'http://api.wassr.jp/statuses/public_timeline.json'; for my $status (@{decode_json $json}) { my $result = zenrize($status->{text}); print "$result\n"; } } # æ¥æ¬èªã®æç« ãå ¨è£¸ã«ãã sub zenrize { my $text = shift; my $mecab = Text::MeCab->new(); my $n = $mecab->parse($text); my $output = ''; # æ«å°¾ã¾ã§é²ãã $n = $n->next while ($n->next); my $flg = 0; # æ«å°¾ããããã®ã¼ã while (($n = $n->prev)->prev) { # ãã©ã°ããã£ã¦ããã°ãå ¨è£¸ã§ããæ¿å ¥ # ãã ããåè©ï¼å¯è©ï¼åè©ã®ã¨ãã¯ã¾ã æ¿å ¥ããªã if ($flg) { my $insert = 1; if ($n->feature =~ / \A (åè©|å¯è©|åè©) /xms) { $insert = 0; } # ã¾ããé£ç¨å½¢ã®åè©âå©(å)è©ã®å ´åãæ¿å ¥ããªã elsif ($n->feature =~ / \A å©(å)?è© /xms && (split(/,/, $n->prev->feature))[5] =~ / é£ç¨ /xms) { $insert = 0; } if ($insert) { $output = $zenra . $output; $flg = 0; } } # åºåã®é£çµ $output = $n->surface . $output; # åè©ãæ¤åºãã¦ãã©ã°ããã¦ã if ($n->feature =~ / \A åè© /xms) { $flg = 1; } } # å é ã®ãã§ã㯠if ($flg) { $output = $zenra . $output; } return $output; }
ã²ã¬ã³ããã¨ããã»ã©ãã ããªãã¹ã¯ãªããã¨ã»ã¼åãã ãã©ãã¡ãã£ã¨æ¿å
¥æ¡ä»¶ãæ¹è¯ãã¦ã¿ãã
ã試ãã¦ã¿ããã¨ãåè©ãï¼ã¤åºã¦ããå ´åãèªç¶ãªæ¥æ¬èªã«ãªãããã«ã
å®è¡ä¾ï¼
$ ./zenra.pl æ¬é³ãè¨ãã¨ããã§ã³ã¬ã¼ããã¨ããç¨åº¦ã§ããããæããã æ¬é³ãå ¨è£¸ã§è¨ãã¨ããã§ã³ã¬ã¼ããå ¨è£¸ã§ã¨ããç¨åº¦ã§ããããå ¨è£¸ã§æããã $ ./zenra.pl æãï¼ã¨å ¨è£¸ã§æã£ã¦ã¨ã¢ã³ã³ãã£ã·ã§ãã¼ããåã«ããæ°·æ°´ãå ¨è£¸ã§é£²ãããã温度ä½ãã®ã·ã£ã¯ã¼ãå ¨è£¸ã§æµ´ã³ããããã®äºã¤ãå ¨è£¸ã§ããã¨é»æ°ä»£ç¯ç´ã«å ¨è£¸ã§ãªãã¾ãããã¸ã§ã»ã»ã» ãã«ã²ã®æ°åãå ¨è£¸ã§æ±ãããã¦âª ä¸ã¤ã®ç´æãå ã«å ¨è£¸ã§å½ã¦ã¦ã¯å ¨è£¸ã§ãããªãå ¨è£¸ã§(çç¡ã§ããªããã)ãæ°´ã«å ¨è£¸ã§æ¿¡ãããªã(風éªãå ¨è£¸ã§å¼ããã)ãé£ã¹ç©ãå ¨è£¸ã§ä¸ãã¦ã¯å ¨è£¸ã§ãããªãå ¨è£¸ã§(太ããã)ã å ¨è£¸ã§ã¹ã«ã¤ãã´ã¡ã¼ã¸ã§ã³UPãã æ°æ´ããã«SL24ã®ã¹ã±ã¸ã¥ã¼ã«ãã§ãã¯ãªããå ¨è£¸ã§ãã¦ã¿ãã親æ¹ã®ããã°ã¨SL24å ¬å¼ãã¼ã¸ã®çªçµè¡¨ã¨ãããå ¨ãåãæ§æã«å ¨è£¸ã§è¦ããããããããå ¨è£¸ã§ããããªãã®ã§ããã«ãããæ¬æ°ã§ã©ãã§ãè¯ãå ¨è£¸ã§ãªã£ã¦ãã ã¢ã¤ãã«ãã¹ã¿ã¼ãã¡ã¤ãä¼ç¹ã®ã¨ããã³ãå ¨è£¸ã§å ããã¦ã¿ããhttp://ext.nicovideo.jp/watch/sm7782534 ãã¼ã·ã§ã³ããã¼ã·ã§ã³ã»ã»ã» ã¢ã¤ãã«ãã¹ã¿ã¼çç®ãå ¨è£¸ã§åãç¬éï¼ã¨ãï¼ã¹ãã«ã¶ã¤ããããã¹ãã«http://ext.nicovideo.jp/watch/sm7782011 å ¨è£¸ã§*ã¡ã¼ã¡ãã*ç®ãå ¨è£¸ã§é¢ãç¬éï¼åæ©ã½ãï¼http://ext.nicovideo.jp/watch/sm7781966 ã¢ã¤ãã«ãã¹ã¿ã¼L4Uãã©ã¡ãã©ãªã©ãã¿ã¤ã ã¹ã¯ã¼ã«çã½ãhttp://ext.nicovideo.jp/watch/sm7781833 åç¥@ã¡ãã½ã¡ãã(chinpoko)ãä¸çã«ãã¼ãã¼ããå ¨è£¸ã§æã¤ã¨å ¨è£¸ã§éãæåãå ¨è£¸ã§åºãåå (æã¦ãªãããããããªã)ãå ¨è£¸ã§è¦æ±ãã¦ãã¾ããhttp://wassr.jp/user/chinpoko/statuses/QM6Oq98rVy ç¾å¸ã¨ã¨ãã«ãããããããã¼ã«å ¨è£¸ã§ããããã¬ã¤åç»ãããã¥ã¼å第3é±http://ext.nicovideo.jp/watch/sm7781593 ãããå ¨è£¸ã§è¸ã¾ããä¸ã§ç¾ä»£æ¥æ¬ã«ããã¦ãå ¨è£¸ã§æ¯ããã¦ããªãç°èã®å¥³åä¸å¦æ§ãã ãªãç«ãå ¨è£¸ã§ã¤ãã¦ã ãªãæ師ãå ¨è£¸ã§èªãå³ãã¢ãã¼ãã«å ¨è£¸ã§ãã¹ããªã®ã ãã 106ãã¼ãã¼ã以å¤ã®è¨å®ã«å ¨è£¸ã§ãªã£ã¦ãã¨ãï¼-Krile- http://nequal.jp/blog/2009/07/30/31/-Openpearããã°ãå ¨è£¸ã§ã¯ããã¾ãã å ¨è£¸ã§http://d.hatena.ne.jp/sotarok/20090729/1248883342-[Openpear][nequal]Openpearããã°ã¯ããã¾ã ç¸å¤ãããã®5ã¨ãã以å¤ã®æ¸©åº¦å·®ãã¯ãã¹http://www.nicovideo.jp/watch/sm2707709 ãã¼ãåå ¥åã®ã¤ããã§ã«ãå ¥åã«å ¨è£¸ã§ãªã£ã¦ããã¨ãï¼ ééãªã¡ã¤ã¯ã®ï¼¨ï¼°ããâã²ã¼ã ä¸ããããããã«å ¨è£¸ã§è©±ãããããã¨ã§ã貯éãå ¨è£¸ã§ãããã©ããå ¨è£¸ã§é¸ã¹ãããã«å ¨è£¸ã§ãªãããå ¨è£¸ã§è²¯éãã¦ããã¨ãä½ããããã¨ãå ¨è£¸ã§ããããï¼ï¼âç»åï¼æç®âããããããã½ã¦ã«ã®ããããã§ãå ¨è£¸ã§ãã£ã¡ãã£ãï¼ãã´ã¡ã³ãï¼ã ãå ¨è£¸ã§ããããã¨ç æããã®ä»²éã¾å ¨è£¸ã§ãµã
ã¾ãå®ç§ã«ã¯ãªããªãããæ¥æ¬èªã£ã¦ãããããã
å¤ä¸ã«Wassrã®Public Timelineã§ãããã°ãã¦ããå ¨è£¸ã§å¯ã宣è¨ããã¦ããããå¤ãã¦é¢ç½ãã£ãï½