2012-06-17 5 views

Odpowiedz

31
dirname = File.basename(Dir.getwd) 

File.basename() zwraca nazwę bazy, nawet jeśli jego argumentem jest ścieżka katalogu.

Aby uzyskać bezwzględną ścieżkę, Dir.pwd wydaje rade.

8
File.expand_path(File.dirname(File.dirname(__FILE__))) 
+5

Dlaczego dwa 'dirnames'? –

20

W Ruby 2.0 lub wyższa, można użyć Kernel#__dir__:

__dir__ 

Od docs:

Zwraca też w postaci bezwzględną ścieżkę do katalogu z plikiem z którego ta metoda jest wywoływana .

+0

Jak wspomniano w pytaniu - "to tylko zwraca. I chcę rzeczywistą nazwę" (dotyczy to również ruby> = 2.0.0, na przykład Ruby 2.3.3). –