LoginSignup
0
0

More than 1 year has passed since last update.

【Ruby on Rails】File.joinを使用してリンクの結合をする

Last updated at Posted at 2023-01-29

前提条件

  • Ruby 3.1.0
  • Rails 7.0.4

背景

file.txtのフルパス(dir/dir2/dir3/file.txt)を表示させたい。

└── dir
    └── dir2
        └── dir3
            └── file.txt

しかし先頭・末尾の/(スラッシュ)有無が変数間で様々である場合、正常にリンクを結合できないことがある。

変数代入
dir1 = "dir/dir2/dir3"   #末尾に/(スラッシュ)なし
dir2 = "dir/dir2/dir3/"  #末尾に/(スラッシュ)あり
file1 = "file.txt"       #先頭に/(スラッシュ)なし
file2 = "/file.txt"      #先頭に/(スラッシュ)あり
コンソール
irb(main)> dir1 + file1
=> "dir/dir2/dir3file.txt"   #結合失敗
irb(main)> dir2 + file2
=> "dir/dir2/dir3//file.txt" #結合失敗

上記のように/(スラッシュ)有無が混合していると、結合させる変数の組合せを考えるのに混乱してしまう。

方法

File.joinを使用してリンクの結合をする

Fileクラスのjoinメソッドを使うことで、どの組合せでも正常に結合することができる。

コンソール
irb(main)> File(dir1, file1)
=> "dir/dir2/dir3/file.txt"
irb(main)> File(dir1, file2)
=> "dir/dir2/dir3/file.txt"
irb(main)> File(dir2, file1)
=> "dir/dir2/dir3/file.txt"
irb(main)> File(dir2, file2)
=> "dir/dir2/dir3/file.txt"

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0