嘿,我在使用ruby解決以下問題時遇到了問題。定義更新ruby對象屬性的方法
問題
編寫了一個抽象的文件系統提供了更改目錄(CD)功能的功能。
注:
根路徑是 '/'。
路徑分隔符是'/'。
父目錄可尋址爲'..'。
目錄名稱只包含英文字母(A-Z和a-z)。
例如:
路徑= Path.new( '/ A/B/C/d')
提出path.cd( '../ X')的current_path
應該顯示'/ a/b/c/x'。
注意:請勿使用內置的路徑相關功能。
我的回答
class Path
def initialize(path)
@current_path = path
end
def current_path
@current_path
end
def cd(new_path)
if new_path.include? ".."
z = new_path.split("/")
b = @current_path
a = b.split('/')
a.shift
a.pop
@current_path = a.push(z[z.length-1]).join("/")
else
end
end
end
path = Path.new('/a/b/c/d')
path = path.cd('../x')
然而,這從 '路徑' 變量返回一個對象的字符串代替。
感謝您的回答,非常感謝! –