相关疑难解决方法(0)

Ruby中的字符串连接与插值

我刚开始学习Ruby(第一次编程),并且有一个关于变量的基本语法问题,以及编写代码的各种方法.

克里斯派恩的"学会编程"教会我写一个像这样的基本程序......

num_cars_again= 2
puts 'I own ' + num_cars_again.to_s + ' cars.'
Run Code Online (Sandbox Code Playgroud)

这很好,但后来我偶然发现了ruby.learncodethehardway.com上的教程,并被教导写出像这样的精确程序......

num_cars= 2
puts "I own #{num_cars} cars."
Run Code Online (Sandbox Code Playgroud)

它们都输出相同的东西,但显然选项2是一个更短的方法.

是否有任何特殊原因我应该使用一种格式而不是另一种格式?

ruby string-concatenation string-interpolation

72
推荐指数
2
解决办法
3万
查看次数

我什么时候应该在Ruby中使用表达式插值?

我对在方法中使用表达式插值感到困惑.最初我认为我可以传递任何类型的表达式,比如说name.capitalize,但我也可以通过没有表达式插值.这是两个案例.只需执行以下两种方法irb,我对两种方法都有相同的结果.我使用的是Ruby 1.9.3

1.

def say_goodnight(name)
 result = "Good night, " + name.capitalize
 return result
end

puts say_goodnight('uncle')
Run Code Online (Sandbox Code Playgroud)

2.

def say_goodnight(name)
  result = "Good night, #{name.capitalize}"
  return result
end

puts say_goodnight('uncle')
Run Code Online (Sandbox Code Playgroud)

两种方式都会产生类似的输出

Good night, Uncle
Run Code Online (Sandbox Code Playgroud)

所以我的问题是我什么时候应该在Ruby中使用表达式插值?什么时候我应该在Ruby中使用参数?

ruby rubygems ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

2
推荐指数
1
解决办法
731
查看次数