MeCabのnode.featureをsplit(",")するとエラーになることがある 常に再現するわけではないのですが、以下のエラーメッセージが表示されます: `split': invalid byte sequence in UTF-8 (ArgumentError) force_encoding("utf-8")を実行しているのになぜ? node = mecab.parseToNode(body.content) while node do f = node.featur...
NokogiriでNodeSetに日本語を代入すると文字化けしてしまいます。 以下のようなコードがあるとします。 # -*- coding: utf-8 -*- require 'nokogiri' html = <<EOF <p> hello </p> <p> ストーリー </p> EOF doc = Nokogiri::HTML(html, nil, 'utf-8') これは正確に日本語を出力してくれます。 しかし中のNodeSetを置き換えようとすると文字化けが...
Rubyでinvalid byte sequence in UTF-8 というエラーの対処方法は? 外部のHTMLを読み込んで正規表現でマッチするコードで、次のようなエラーが出ました。 invalid byte sequence in UTF-8 文字通り、UTF-8的に正しくないバイト列があるということかと思いますが、どう対処するのが良いのでしょうか?
MeCabで品詞の比較ができない MeCabで解析した結果から名詞だけ抽出したいのですが、 # -*- coding: utf-8 -*- require 'MeCab' mecab = MeCab::Tagger.new() node = mecab.parseToNode("MeCabで品詞の比較ができない") while node do f = node.feature.split(',') if f[0] == "名...
Rubyのcase文で「〜以上」みたいな表現は可能でしょうか? case文の中で以下のようにRangeでマッチさせたいのですが「30以上」みたいな表現は可能でしょうか? def range(num) case num when (0..10) then 0 when (11..30) then 1 else 3 end end
Sinatraアプリで「rails c」みたいなことをしたい Sinatraアプリは bundle exec rackup で localhost:9292 で動くわけですが、rails c みたいにコンソールで動かせる便利なワザはないものでしょうか? 教えてエラい人。
JavaScriptで文字列に変数の内容をinterpolateするには? Rubyだと、 i = 5 puts "You have #{i} items" とやって、You have 5 items. という結果が得られますが、同様のことをJavaScriptでやるにはどうすればいいのでしょうか?
RubyのModule#module_functionの使い道が良く分かりません Module#module_function の使い方が良く分かりません。 次の3つが同じだとすると、わざわざメソッド定義の場所から離してmodule_functionを使う理由がイマイチ分かりません。こういうのは好みで選ぶものなのでしょうか? 何か違いはあるのでしょうか? module Utils def self.meth puts "meth" end end module Utils...
Ruby on Railsのblank?とempty?はどう使い分ければいい? Ruby on Rails(Active Support)には、Ruby本体にない blank? というメソッドがありますが、 empty? と、どう使い分けるものでしょうか? 似たメソッドに nil? もありますが、どのオブジェクトに使えるのか、どう使うのかで、ちょっと混乱しています。