‘.’之间的区别和RUBY中的File.dirname(__ FILE__)
我正在通过Lynda.com
Ruby课程并构建一个小应用程序.
为了使文件可移植,教师使用下面的表格. APP_ROOT = File.dirname(__ FILE__) 我理解常量FILE的目的,因为它总是解析当前文件,无论它的名称是什么. 当我键入p APP_ROOT时,它解析为a. #=> ”我理解的是当前目录. 我不知道的是,如果File.dirname(__ FILE__)总是==’.’,为什么不使用’.’ ? 例如输出: $LOAD_PATH.unshift(File.join(APP_ROOT,’lib’)) p $: 等于 $LOAD_PATH.unshift(File.join(‘.’,’lib’)) p $: 当我p $:我得到两条线的完全相同的结果. File.dirname(__ FILE__)超过’.’的值是多少? ? 此外,我搜索了所有,但我不确定. 如果我输入’.’ 提前致谢. 解决方法
File.dirname(__ FILE__)并不总是与当前目录相同.如果从与文件相同的目录启动Ruby程序,它将是相同的,但如果从不同的目录开始则会有所不同.
例如,如果你有一个包含foo.rb的子目录subdir,其内容如下: puts File.dirname(__FILE__) 然后从父目录运行你得到这个: $ruby subdir/foo.rb subdir 但如果你进入目录然后运行该文件你得到这个: $cd subdir $ruby foo.rb . (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |