我意识到这可能是一个非常基本的问题,但我无法弄清楚.
说我有这个主要课程
public class Main{
public static void main(String[] args){
int a = 0;
AddSomething.addOne(a);
System.out.println("Value of a is: "+String.valueOf(a));
}
}
Run Code Online (Sandbox Code Playgroud)
这是AddSomething课程和addOne()方法
public class AddSomething{
public static void addOne(int a){
a++;
}
}
Run Code Online (Sandbox Code Playgroud)
该addOne方法不添加任何东西
System.out.println("Value of a is: "+String.valueOf(a));
// Prints 0 not 1
Run Code Online (Sandbox Code Playgroud)
如何在类中创建Add类更新变量?aMain
看来,我对Ruby Enumerable有一个奇怪的用例.我试图做类似以下的事情:
result = my_strategies.some_method do |strategy|
strategy.get_result
end
Run Code Online (Sandbox Code Playgroud)
该方法some_method只是一个占位符,但这个问题的人的后面的基础.
可枚举的my_strategies包含用于从远程服务检索值的有序策略列表; 更优选的策略是在不太优选的策略之前运行,
有时候更优选的策略会失败,因为单独重试不会纠正.在这种情况下,策略将返回零.
我可以通过依赖每个块来看到这样做的方式,因此:
result = nil
my_strategies.each do |strategy|
result = strategy.get_result
if not r.nil?
break
end
end
Run Code Online (Sandbox Code Playgroud)
这似乎不必要地嘈杂.我想知道在我的第一个例子中是否有一种方法可以替代some_method ; 类似于.any?的东西,但是返回导致块为真的值,而不是返回true.
我也欢迎采用替代方法来实现我的目标.
编辑:我最初问这个问题,因为我尝试过这段代码:
result = my_strategies.find do |strategy|
strategy.get_result
end
Run Code Online (Sandbox Code Playgroud)
除了这使我成功的策略,而不是它返回时返回的值.我不关心哪种策略让我有价值,我只想知道价值是什么.