首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

有关问题:ruby里面open是做什么用的,并且后面还跟循环

2012-04-07 
问题:ruby里面open是做什么用的,并且后面还跟循环,在线等def changeFile(nameofnecheck)strIPAddr Syste

问题: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、他是在读数据而非是在读程序代码。他得到的将是请求返回结果集

热点排行