ã©ã¤ãã©ãªã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ãå¤ãªã¨ãã«Generatorã使ã£ã¦ã¾ãã«ã§ãããã¨ãããï¼
MeCabã®Rubyãã¤ã³ãã£ã³ã°ã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ãã ããã¦ï¼ä½¿ãã«ããã£ãï¼
åãã¡æ¸ããã¦ï¼åè©ã ã表示ãããããªã¨ãï¼æ®éã«æ¸ãã¨ãããªãï¼
c = MeCab::Tagger.new("-O wakati") node = c.parseToNode(text) while node do puts node.surface if node.feature =~ /^åè©/ node = node.next end
whileã¨ãï¼node = node.nextã¨ããï¼Rubyã£ã½ããªãï¼
Generatorã«å ¥ãã¦1åãã¤è¿ãããã«ããã¨ï¼Enumlatorã使ããããã«ãªã£ã¦ï¼ã ãã¶ã¾ãã«ãªãï¼
c = MeCab::Tagger.new("-O wakati") node = c.parseToNode(text) Generator.new{|g| while node do g.yield node node = node.next end }.select{|node| node.feature =~ /^åè©/ }.each{|node| puts node.surface }
node = node.nextã¨ãæ¸ããããã©ã¤ãã©ãªã¯MeCab以å¤ã«ç¥ããªããã©ï¼ä»ã«ãããããã®ãããã°åãããã«ä½¿ãããï¼