English 中文(简体)
• 如何将体格传至职能,而不是取回(Ruby)
原标题:how to pass strings to functions not by ref (Ruby)

核对以下编码

def wipe_mutterings_from( sentence )
   while sentence.include?  ( 
     open = sentence.index(  (  )
     close = sentence.index(  ) , open )
     sentence[open..close] =    if close
   end
end

foo= abbba (jjjj) kkkkkk 
wipe_mutterings_from( foo )
p foo

In my understanding I have passed the string by ref to the function (much like is done in lower level languages like c/cpp).
Is it possible to pass the string only by value (like in PHP)?
I am fully aware I can duplicate the string inside the function and work only on the copy.

最佳回答

简言之,一切都以提及方式在鲁比通过,扼杀是 mu。 通常要做的是<代码>dup。 如你所提到,这是这种方法中的第一个。

然而,一个更为容易的方法是,仅仅不做<条码>[开放],而是像<条码>[0......开放]+句[(包括+1.-1]

问题回答

或者,你可以尝试更“人工”的方式(在休息和指数计算时消除):

foo =  abbba (jjjj) kkkkkk 
p foo.sub(/(.*) /,   )

您可以试图仅寄送一份这一说明的副本。

foo= abbba (jjjj) kkkkkk 
wipe_mutterings_from( foo.clone )
p foo

我看不出你为什么会给这一职能造成新的扼杀,并回去。 它读得好得多,而且不太奇怪:

foo= abbba (jjjj) kkkkkk 
new_foo = wipe_mutterings_from( foo )
p new_foo

甚至

foo= abbba (jjjj) kkkkkk 
foo = wipe_mutterings_from( foo )
p foo

但我更喜欢后者。





相关问题
Simple JAVA: Password Verifier problem

I have a simple problem that says: A password for xyz corporation is supposed to be 6 characters long and made up of a combination of letters and digits. Write a program fragment to read in a string ...

Case insensitive comparison of strings in shell script

The == operator is used to compare two strings in shell script. However, I want to compare two strings ignoring case, how can it be done? Is there any standard command for this?

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

String initialization with pair of iterators

I m trying to initialize string with iterators and something like this works: ifstream fin("tmp.txt"); istream_iterator<char> in_i(fin), eos; //here eos is 1 over the end string s(in_i, ...

break a string in parts

I have a string "pc1|pc2|pc3|" I want to get each word on different line like: pc1 pc2 pc3 I need to do this in C#... any suggestions??

Quick padding of a string in Delphi

I was trying to speed up a certain routine in an application, and my profiler, AQTime, identified one method in particular as a bottleneck. The method has been with us for years, and is part of a "...

热门标签