相关疑难解决方法(0)

Ruby - 参考引用或值?

我不明白为什么他们 Ruby按值传递所有参数,同时下面的代码证明了相反的情况:

class MyClass1
  @var1 = 123

  def get1
    @var1
  end

  def set1=value
    @var1 = value
  end
end

c1 = MyClass1.new
c1.set1 = 444
p c1.get1 # 444

def test1 mc
  mc.set1 = 999
end

test1 c1
p c1.get1 # 999
Run Code Online (Sandbox Code Playgroud)

如果按价值计算,它会打印出来444,而不是999.

ruby

16
推荐指数
1
解决办法
1万
查看次数

从ruby块更改原始变量?

可能重复:
Ruby中的'通过引用传递参数'?

在这个例子中:

def test
  verb = 'nothing'
  yield verb
  puts verb
end

test {|verb| verb = 'something'}
Run Code Online (Sandbox Code Playgroud)

它将打印"没有".

是否有可能将其改为"某事"?

谢谢

ruby

5
推荐指数
1
解决办法
3843
查看次数

更改方法中传递的变量

如何使用方法更改变量的内容?也许我不是说得对.有什么方法可以像C中那样获取变量的引用?例:

// main stuff
int gorilla = 29;
makeMeABanana(&gorilla);

void makeMeABanana(int *gorilla) { }
Run Code Online (Sandbox Code Playgroud)

我怎么能在Ruby中做这样的事情?

ruby methods reference

5
推荐指数
2
解决办法
3944
查看次数

ruby变量作为同一个对象(指针?)

>> a = 5
=> 5
>> b = a
=> 5
>> b = 4
=> 4
>> a
=> 5
Run Code Online (Sandbox Code Playgroud)

如何将'b'设置为实际为'a',以便在示例中,变量a也将变为4.谢谢.

ruby variables pointers

5
推荐指数
1
解决办法
4361
查看次数

获取其值在数组中的最大值的变量

如果我在Ruby中有一个变量数组:

a = 4
b = 7
c = 1

array = [a, b, c]
Run Code Online (Sandbox Code Playgroud)

如何访问具有最高值的变量的名称?(在这个例子中b)我想检索对具有最高值的元素的引用,以便以后能够操作它:

b += 10 
Run Code Online (Sandbox Code Playgroud)

我尝试array.max但只返回最大值7

ruby arrays

4
推荐指数
1
解决办法
89
查看次数

标签 统计

ruby ×5

arrays ×1

methods ×1

pointers ×1

reference ×1

variables ×1