yelanxin 发表于 2011-01-25 22:03

ruby 如何打开auto flush?

现在碰到了问题,写了一个类,两次调用这个类,提供不同的参数,返回的结果都一样。

正常来说应该返回不同的结果。这个如何处理?

2gua 发表于 2011-01-25 22:58

把代码放出来吧?看看你的构造方法。

yelanxin 发表于 2011-01-26 16:32

#!/usr/bin/ruby
require 'rubygems'
require 'dnsruby'
class Dig
@@hb_key_name = 'aaa'
@@hb_key      = 'adfasdfadsfasdfasdgasdgasdg=='
@@hn_key_name = 'bbb'
@@hn_key = 'adgadfasdfadgadgasdfga=='
@@other_key_name = 'ccc'
@@other_key = 'agadgasdgasdfasdfasdfadf=='
@@local_nameserver = '192.168.1.100'
        def initialize(domain,type,nameserver)
                @domain = domain
                @type = type
                @nameserver = nameserver
        end

        def huabei
        if @nameserver.nil?
                res = Dnsruby::Resolver.new({:nameserver => @@local_nameserver})
        else
                res = Dnsruby::Resolver.new({:nameserver => @nameserver})
                res.tsig=@@hb_key_name, @@hb_key
        end
               
                a = res.query(@domain, @type)
                puts a
        end

        def huanan
        if @nameserver.nil?
                res = Dnsruby::Resolver.new({:nameserver => @@local_nameserver})
        else
                res = Dnsruby::Resolver.new({:nameserver => @nameserver})
                res.tsig=@@hn_key_name, @@hn_key
        end
                a = res.query(@domain, @type)
                puts a
        end

        def other
        if @nameserver.nil?
                res = Dnsruby::Resolver.new({:nameserver => @@local_nameserver})
        else
                res = Dnsruby::Resolver.new({:nameserver => @nameserver})
                res.tsig=@@other_key_name, @@other_key
        end
                a = res.query(@domain, @type)
                puts a
        end
       
        def local
                res = Dnsruby::Resolver.new({:nameserver => @@local_nameserver})
                if @type.nil?
                        a = res.query(@domain, "A")
                else
                        a = res.query(@domain, @type)
                end
                puts a

        end
       
end

2gua 发表于 2011-01-28 14:37

调用在哪里呢???

2gua 发表于 2011-01-28 14:42

你定义了很多类变量,注意类变量是所有父类以及子类共享的。

yelanxin 发表于 2011-01-30 16:43

调用很简单,就是提供了不同的两个参数。。。。结果总是得到第一次调用的结果。。。

这个两次调用在同一个文件里面。

yelanxin 发表于 2011-01-30 16:46

类变量应该不影响参数传递。

2gua 发表于 2011-01-31 09:58

你怎调用的?你的描述,感觉没描述到点子上呢。
页: [1]
查看完整版本: ruby 如何打开auto flush?