English 中文(简体)
为什么是“#{String}”,是鲁比的一个共同部分
原标题:Why is "#{String}" a common idiom in Ruby
  • 时间:2010-05-10 21:00:28
  •  标签:
  • ruby
  • string

我知道这一点;我的回答如下...... 是否有其他更好的理由?

为什么这么多的Ruby方案管理员这样做

"#{string}"

而不是

string

由于第二种形式更为简单、更有效率?

最佳回答

这对鲁比开发商来说是否是一个共同的分支? 我看不到这一点。

问题回答

在你后来需要做的更小的改动,不仅只是获得扼杀的价值,而且在使用点还预支/适用,似乎是我能够找到的最好的动机。

只有一个案例是:

fname =  john 
lname  =  doe  
name = "#{fname} #{lname}"

以上守则比:

name = fname +     + lname

name = [fname, lname].join(   )

一些使用的范围越广? 我所能谈的一点超出了已经提到的内容,就是对类型安全的一种松散的尝试;也就是说,你可以接受任何论点,这可以确保,无论你通过什么步行,如uck,还是 well(ough<>条码>,到_s,或许可以更加明确。

一般来说,这或许是一种法典,人们在思想上总是最佳做法。

我使用这种编号,以便我能通过<代码>nil,作为示意图,而且我仍在努力进行扼杀,而不是看到一些例外情况:

def short(string = nil)
  "#{string}"[0..7]
end

而且,如果已经引用的话,就更方便/更方便地读一下某些 de法。

简言之: 它更加方便。

有趣的答案是每个人。 我是询问原始问题的开发商。 为了提供更多情况,我有时在我目前的工作中看到这一点,有时在铁路清单的样本编码中看到这一点,事先知道这些变量可以控制地势。 我可以理解,这可以替代_,但我不认为,我会在这里做些什么;我认为,人们只是忘记,如果你刚刚通过一个扼杀变数,你就不需要pol。

如果有人试图告诉我,这是最好的做法,那么我就走了顶。

转换任何扼杀手段可能容易吗? 因为与<代码>to_s方法相同。 但是,这很奇怪:

a = [1,2,3]
"#{a}"
#=> "123"
a.to_s
#=> "123"

在被污染物体并非总能动的情况下,我可以认为这一点是有用的,因为污染隐含在<代码>#to_s上:

"#{ bla }"           => "bla"
"#{%r([a-z])}"       => "(?-mix:[a-z])"
"#{{:bla => :blub}}" => "blablub"

当伐木时,或许是有意义的,在伐木中,你不关心产出格式,但永远不会因为错误的理由而产生错误。





相关问题
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 "...

热门标签