gpt4 book ai didi

java - 将示例 java 代码转换为 ruby​​ 以了解 ruby​​ 中的静态变量

转载 作者:行者123 更新时间:2023-12-02 04:42:07 27 4
gpt4 key购买 nike

谁能帮我将这个简单的java代码转换为ruby。

class A {
private static String[] chachedNames;

public static String[] getNames(){
if(chachedNames == null)
chachedNames = prepareNames(); //This process will take 20sec to complete
return chachedNames;
}
}

我试图了解静态方法的基本内存缓存。如何在 Ruby 上实现同样的功能。

最佳答案

使用@@分配与该类的所有实例共享的类变量:

class A
@@cached_names = nil

def self.get_names
@@cached_names = prepare_names if !@@cached_names
@@cached_names
end
end

关键字self表示将方法指定为类方法(类似于Java中的静态方法)。如果没有 self 关键字,该方法将成为实例方法。

这是一个不错的 summary of class and instance methods :

关于java - 将示例 java 代码转换为 ruby​​ 以了解 ruby​​ 中的静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30066710/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com