![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
以下のようにしてください。
-------------------------------------------
# 単語の配列を初期化
words = Array.new
# tanogo.txt のオープン
File.open("tango.txt","r") do |file|
# 1行単位で読み込む
while line = file.gets
#改行を削除
line.chomp!
# wordsへ登録
words << line
end
end
#単語の数を求める
kazu = words.length
# 乱数(整数)を求める
# 0~単語の数-1 の範囲に乱数が収まるようにする
word = words[rand(kazu)]
print word,"\n"
---------------------------------------------
単語が書いてあるファイルをtango.txtとします。
このスクリプトをtest.rb とします。
スクリプトと単語のファイルは同じディレクトリにおいてください。
コマンドプロンプトで、そのディレクトリに移動し、
そこで
ruby -Ks test.rb
と入力してください。
毎回、異なる単語が表示されます。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?5a7ff87)
No.2
- 回答日時:
補足要求です。
質問1.テキストファイルには
苺
コーヒー
花
・・・
のように1行に1単語があるのですか?
それとも
「苺 コーヒー 花 美人 宇宙見物」のように
1行に各単語がスペース区切りであるのでしょうか。
質問2.環境はwindowsですか、それともlinuxですか。
質問3.rubyのバージョンは1.9以上ですか?
このサイトで質問をする場合は、実行環境とrubyのバージョンは最初に
提示しておいたほうが、回答がつきやすくなります。
この回答への補足
足りないところがありました。申し訳ないです。
1 一行に一単語です。
2 windowsを使っています。
3 バージョンは1.8.7です。
引き続き回答をお待ちしています。
No.1
- 回答日時:
>スクリプトのうまい書き方
初心者ということであれば、「うまい」ということよりも、まずは「正しく動く」ということに重きを置いたほうがよいかと。
そのうえで、自分のスクリプトのどこに不明点・不満点があるかを明示したほうが、回答が得られやすいと思います。
まずは今時点で、mot-nghinさんが書かれてるスクリプトを晒してみては。
あと、参考:
http://www.google.co.jp/search?hl=ja&q=ruby+arra …
この回答への補足
ご回答ありがとうございます。
書き方がよくなかったですね。
とりあえず今書いているものは以下のとおりです。
array=gets(nil)
array[rand(array.length)]
puts(array)
これを実行してもsample.txtの中身がそのまま出てきてしまい、ランダムに1こ選び出すことができないのです。
どんな風に書けば「sample.txtの中からランダムでひとつ取り出して表示する」ことができるようになるのでしょうか。
*項目が少なければスクリプトにそのまま書いてもいいと思うのですが、膨大な量の項目からランダムでn個取り出したいときに不便なので、選び出す候補を別ファイルに用意して、それを読み込んで実行するようにしたいのです。
引き続き回答をお待ちしています。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム 外付けHDDの初期化について 4 2023/03/05 20:00
- Ruby ruby 1 2022/06/10 13:31
- Mac OS MacOSのLaunchAgentsってなんですか?使い方など教えてください。 前の質問でLaunc 1 2022/04/24 02:06
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- システム 外付けHDDの初期化について 4 2023/03/05 21:19
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Java JavaでWebページ作成 7 2023/07/21 21:09
- ドライブ・ストレージ CrystalDiskmarkの測定結果の判定をお願いします 1 2023/02/11 17:42
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Rubyのrandについて
-
Ruby interpreter (CUI) 2.2.3 ...
-
【本物のハッカーさん大至急助...
-
OpenCV cvmatchtemplate
-
ruby ldapライブラリが利用でき...
-
rubyのエラー out of float ra...
-
無料で始められるプログラミン...
-
Rubyで文字列の先頭を取りだす
-
rubygems, railsのインストール
-
web上のhtmlファイルから文字デ...
-
fortran のプログラムが分かり...
-
Windowsプログラミング、全部こ...
-
将来チャンスがあればプログラ...
-
RubyGems の「GEM」は何の略で...
-
ruby で C(コンビネーション...
-
ruby19 -vは○、gem19 -vは×な理由
-
HPビルダーでのルビ振りで不...
-
本の紹介
-
Windows上のRubyから、IMAP経由...
-
WinXP+Apache2にerubyを入れま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
RubyでNo such file or directo...
-
Ruby interpreter (CUI) 2.2.3 ...
-
Rubyでpdfファイルを読み込む方法
-
RubyでexeファイルをつくるExer...
-
Ruby interpreter (CUI) 2.2.3p...
-
Rubyでの日本語コードの指定
-
Ruby1.9.2でマジックコメントが...
-
rubyでコマンドプロンプトを使...
-
Ruby / passenger のインストー...
-
システムエンジニアの適正について
-
小文字wと大文字Wの区別
-
初心者 パイソンプログラム
-
プログラミング講師はまだ需要...
-
VB.NETで階乗を求めるプログラ...
-
web上のhtmlファイルから文字デ...
-
プログラミング言語で大文字と...
-
Rubyの.soについて
-
九九の表示
-
ruby の Σ計算
-
バーコードのチェックデジット...
おすすめ情報