
No.2ベストアンサー
- 回答日時:
ファイルが
able
word
length
word
length
word
のように1行1語なら
lines=IO.readlines("***.txt") # 全行を読み込み配列に
words=lines.collect{|line| line.chomp} # 改行を取り除く
word_groups=words.group_by{|word| word} # 単語ごとにHashに
sorted_words=word_groups.sort_by{|word, word_array| -word_array.size} # 出現頻度の高い方かならべる
のような感じです。
sorted_words[0]には["word", ["word", "word", "word"]]
が入っています。
No.1
- 回答日時:
「出現回数の多かった」とはどのように判断する予定ですか?
「表示したい」とは具体的にどのような結果が欲しいのですか?
そして書いたスクリプトを補足にどうぞ。
この回答への補足
説明が不十分で申し訳ありません。
出現回数の多かったものの判定についてですが、
テキストファイルを1行ずつ読み込んでいき1つずつ配列に格納して、
比較して同じであればカウントをする方法を取りたいと思います。
表示の方法に関しては例えばカウンタのようにメインページ上に表示したいと考えています。
以下スクリプトです。
わからないことだらけなのでやりたいことはコメントで書いてみました。
#!/usr/bin/ruby -Ke
print "Content-Type: text/html\n\n"
require "cgi"#ライブラリ読み込み
cgi = CGI.new
fp = File::open("******.txt", "r")#テキストファイル読み込み
line_count = fp.read.count("\n")#行数をカウント
set = fp.Readline #1行ずつ読み込む
fp.close
while i > line_count#行数分繰り返す
#****ここで比較をしたい。****
end
print " <html><head></head><body>"
print #{******},"\n"#表示
print "</body></html>"
1つ1つ配列に格納して比較する方法がわかりません。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1、Rstudioで回帰直線を求める...
-
パソコンのスクリーンセーバー...
-
pandasでsqlite3にテーブル作成...
-
英数字を含む文字列(0-9,A-Z)...
-
(再質問)エクセルのマクロボ...
-
100万件越えCSVから条件を満た...
-
C言語の入力した文字を反転させ...
-
WIN11にオフイスを複数入れるこ...
-
Accessで文字列のバイト数読み込み
-
回復ドライブとインストールメ...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ルビー言語 ライブラリー
-
Ruby 変数 用途と違い
-
WinSCPで画像のように puttyを...
-
教えてください
-
プログラミングについてです。...
-
pythonエラー
-
WSLのUbuntuで、Railsのインス...
-
ruby while式
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Ruby require ライブラリー
-
ruby loopメソッド 変数(再喝)
-
(再質問)エクセルのマクロボ...
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数
-
1、Rstudioで回帰直線を求める...
-
パソコンのスクリーンセーバー...
-
ビーリアルのユーザー名を変え...
-
ruby 配列
-
C言語の入力した文字を反転させ...
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
100万件越えCSVから条件を満た...
-
ルビー言語 csvファイル 続き
-
Ruby newメソッド
-
教えてください
-
ruby raise句
-
英数字を含む文字列(0-9,A-Z)...
-
pythonエラー
おすすめ情報