读书人

有关问题:ruby里面open是做什么用的

发布时间: 2012-04-07 17:31:51 作者: rapoo

问题:ruby里面open是做什么用的,并且后面还跟循环,在线等
def changeFile(nameofnecheck)
strIPAddr = SystemConfig.getIPaddress()
open("#{strIPAddr}/ExecJythonFile?file=changeFile&args=#{nameofnecheck}") do |f|
# 得到返回的信息
return f.gets()
end
end

我知道上面的代码是在调用一个jython文件——changeFile.py,代码如下(只看我用到的部分)

def fileExist():
"查看文件是否存在,参数为文件相对于pkg的路径"
path = _pkgPath+File.separator+arg[0]
file = File(path)
global _returnValue
if file.exists() == 1:
_returnValue = 1
elif file.exists() == 0:
_returnValue = 0

arg = _args.split(";")
print arg[1]
elif arg[1] == "exist":
fileExist();

1、我不理解的是循环中的f是什么东西,

2、并且我还见到了f.eof这个方法是什么什么意思,它的返回值始终是一个boolean类型(在ruby中好像没有没有boolean类型这个一说)

3、f.gets这个方法是调用jython脚本得到返回值吗?

[解决办法]
1、你需要知道什么是Block。
这在RUBY的代码中随处可见

2、ruby中没有boolean类型一说?那true和false是什么呢 f.eof是读到文件尾

3、他是在读数据而非是在读程序代码。他得到的将是请求返回结果集

读书人网 >Ruby Rails

热点推荐