Project

General

Profile

Actions

Feature #8834

open

Kernel#load_relative

Added by sawa (Tsuyoshi Sawada) about 8 years ago. Updated over 2 years ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:56866]

Description

The intended difference between Kernel#require and Kernel#load is that the former is for external libraries and the latter is for Ruby scripts internal to the project. Considering this fact, load should be more likely than require to be used in a situation where you want to call a file through a relative path. Strangely, there is Kernel#require_relative, but no Kernel#load_relative. I request Kernel#load_relative. It is even more necessary than Kernel#require_relative.

It seems to me that people are using Kernel#require_relative when they want to use a relative path, even in the context where they are supposed to use load because of the lack of Kernel#load_relative. I don't think this is a good practice. Furthermore, in cases where you have a file without a .rb or other extention that you want to call via a relative path, there is no good way to do it.

Actions

Also available in: Atom PDF