
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
http://oshiete.goo.ne.jp/qa/8813697.html
でも書きましたけど、マニュアル読みましょうよ。
熟練者だって、細かい点を確認するためにマニュアルを読みます。
それを初心者がサボってどうするんですか。
http://docs.ruby-lang.org/ja/2.1.0/class/Dir.htm …
にちゃんと
> パターンにマッチするファイル名を文字列の配列として返します。
と書いてあります。
「配列の中身を順番に処理する」って基本中の基本なわけですから、初心者用の入門書を読めばちゃんと書いてあります。
また
> ブロックが与えられたときはワイルドカードにマッチしたファイルを 引数にそのブロックを 1 つずつ評価して nil を返します
とも書いてあります。
Dir.glob("b*") {|f| p f }
というサンプルコードもちゃんと載っています。
ブロックを与える方法というのも、Rubyの基本ですから、ちゃんと初心者用の入門書にも書いてあります。
前の質問の中で、あなた自身が利用しています。
f.each_line do |line| ~ end というように。
でも書きましたけど、マニュアル読みましょうよ。
熟練者だって、細かい点を確認するためにマニュアルを読みます。
それを初心者がサボってどうするんですか。
http://docs.ruby-lang.org/ja/2.1.0/class/Dir.htm …
にちゃんと
> パターンにマッチするファイル名を文字列の配列として返します。
と書いてあります。
「配列の中身を順番に処理する」って基本中の基本なわけですから、初心者用の入門書を読めばちゃんと書いてあります。
また
> ブロックが与えられたときはワイルドカードにマッチしたファイルを 引数にそのブロックを 1 つずつ評価して nil を返します
とも書いてあります。
Dir.glob("b*") {|f| p f }
というサンプルコードもちゃんと載っています。
ブロックを与える方法というのも、Rubyの基本ですから、ちゃんと初心者用の入門書にも書いてあります。
前の質問の中で、あなた自身が利用しています。
f.each_line do |line| ~ end というように。

No.2
- 回答日時:
>例えばFile.open(sample)などのメソッドの引数にDir.globの結果を渡したい場合はどうすればよいのでしょうか?
#1の回答の例であれば、以下のようになります。
カレントディレクトリ下のファイル一覧を取得して、そのファイルをオープンする
files = Dir.glob("*")
files.each do |file|
File.open(file)
・・・・・以下、省略
end
Dir.globの結果として、filesが取得できます。
これは、カレントディレクトリ下のファイル名(あるいはディレクトリ名)の配列になっています。
この配列の内容を1個づつ処理する場合は、each メソッドを使います。
files.each do |file|
# file が1個のファイル名(あるいはディレクトリ名)をあらわしています。
end
尚、files と file の名前はなんでもよいです。
xxx = Dir.glob("*")
xxx.each do |x|
File.open(x)
end
でも同じ結果になります。
余談ですが、上記の例の場合、ディレクトリ名も取得する場合もありえます。
もし、あなたの環境でDir.globを実行したときに、全てファイル名だけであれば、問題ありませんが、
ディレクトリも含まれる場合は、そのディレクトリをスキップする必要があります。
その場合は、再度質問してください。

No.1
- 回答日時:
サンプルです。
カレントディレクトリ下のファイル一覧を取得して、表示します。
files = Dir.glob("*")
files.each do |file|
print file,"\n"
end
不明点があれば、補足してください。
この回答への補足
回答ありがとうございます。
もう一つお聞きしたい事があるのですが、
回答者様のサンプルではprintの引数にDir.globの結果を当てはめていらっしゃいますが、
例えばFile.open(sample)などのメソッドの引数にDir.globの結果を渡したい場合はどうすればよいのでしょうか?
たびたびの質問すみません。ご回答の程よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(再質問)エクセルのマクロボ...
-
CSSのhtmlへの紐付けについ...
-
秀丸エディタで、同じ記号で囲...
-
Ruby 格納
-
ビーリアルのユーザー名を変え...
-
1、Rstudioで回帰直線を求める...
-
a=2, b=1のとき”x=(a-b+3)%3”の...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
-
ルビー言語 ライブラリー(再々...
-
ルビー言語 csvファイル 続き(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【fortran77】空行を含む数値デ...
-
rubyの見えない文字
-
pythonのエラーについて
-
Ruby 暗号化したファイルの復号...
-
fortranでNAのあるデータを読み...
-
Rubyのルンゲクッタ法がうまく...
-
Rubyで、外で定義した文字列をd...
-
pycharmへのpysamインストール...
-
Rubyでファイルの名前をリネイ...
-
2行読み込んで一行戻り、また2...
-
rubyのデータ読み取りについて
-
rubyプログラムでのフォルダ内...
-
Ruby で タグで囲まれた文字を...
-
{Ruby}Dir.globの結果を引数と...
-
【ruby】flockで掛けたロックを...
-
2次元Hashのkeyチェック方法
-
区切り文字の調整方法について...
-
バッチ処理 特定の文字以降を...
-
VBAでcsvファイルもシートもあ...
-
ダブルコーテーション付きでCSV...
おすすめ情報