#author("2021-11-25T10:19:02+00:00","default:hotate","hotate") #author("2023-05-14T07:33:11+00:00","default:hotate","hotate") #contents &tag(Ruby); * 情報 [#s1b75a6c] ** ファイル・パス操作 [#ib37aa3b] - [[Rubyでファイルを扱うまとめ - むかぁ~ どっと こむ>http://mukaer.com/archives/2012/04/12/ruby/]] #ディレクトリ取得 p File.dirname "/etc/http/conf/httpd.conf" #=> "/etc/http/conf" #ファイル名取得 p File.basename "/etc/http/conf/httpd.conf" #=> "httpd.conf" - [[Rubyでスラッシュを意識せずにコーディングする方法 - SHOYAN BLOG>https://48n.jp/blog/2016/05/16/cording-without-separator-on-ruby/]] ([[2016]]/05/16) File.joinを使えばセパレーターを指定する必要はありません。 - [[Ruby ファイルを読み込む(Dir.globなど)順番について - Qiita>https://qiita.com/devzooiiooz/items/43da78f1c3c5c0552710]] ([[2018]]/07/26) 名前の辞書順: Dir.glob(pattern).sort 生成順: Dir.glob(pattern).sort_by { |fn| File.birthtime(fn) } 更新順: Dir.glob(pattern).sort_by { |fn| File.mtime(fn) } - [[Ruby: ファイルから1行/段落ごと読み込む(入力する)には? - Build Insider>https://www.buildinsider.net/language/rubytips/0021]] readlinesメソッドでは、行の末尾にある改行文字も返されてしまう。改行文字を取り除きたければ、gets/getline/each_line/foreachメソッドのいずれかにより1行ずつ読み込んで、chompメソッドで改行文字を削除して配列に追加するとよい。 *** [[Ruby/3.0]] [#p83b0547] - [[プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ>https://techlife.cookpad.com/entry/2020/12/25/155741]] ([[2020]]/12/25) Ruby 2.7まではDir.globはファイルシステムに依存する順序でファイルを列挙していましたが、Ruby 3.0からはデフォルトでソートされるようになりました。 - [[Dir.[] (Ruby 3.0.0 リファレンスマニュアル)>https://docs.ruby-lang.org/ja/latest/method/Dir/s/=5b=5d.html]] [PARAM] sort: true ならワイルドカードや文字セット(鈎括弧)にマッチした結果をバイナリとして昇順にソートします。 false を指定するとソートせず2.7以前と同じ挙動になります。 true の場合でも、配列で指定した複数のパターンや波括弧での順番は保存されます。 ** 読み書き [#l4ad4308] - [[備忘録的なblog: 【ruby】エンコード指定でファイル入出力>http://se-bikou.blogspot.jp/2011/01/ruby_23.html]] File.open("test.txt", "r:euc-jp") {|file| file.each {|line| puts "#{line}:#{line.encoding}" } }