有没有推荐适合Ruby语言的替代品?

2026-04-28 02:121阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计363个文字,预计阅读时间需要2分钟。

有没有推荐适合Ruby语言的替代品?

参見英文解答+為什麼在沒有花括號的情況下,Ruby 的字串插值仍然能夠工作?1個注意事項:+ 請注意以下事項:abcd

参见英文答案 > Why does string interpolation work in Ruby when there are no curly braces?1个
请注意以下事项:

"abcd#fg" # => "abcd#fg" "abcd#$fg" # => "abcd" characters #$and after them are skipped "abcd#@fg" # => "abcd" characters #@ and after them are skipped

它可以是#而不是#{}的字符串插值.

$fg = 8 "abcd#$fg" # => "abcd8" @fg = 6 "abcd#@fg" # => "abcd6"

它像插值一样工作.这是一个错误还是一个功能?

您实际上可以插入省略大括号的全局,实例和类变量:

$world = 'world' puts "hello, #$world" # hello, world

在你的例子中,$fg和@fg都是未初始化的,因此被评估为nil,这就是为什么它们作为空字符串被内嵌的原因.当你写“abcd#fg”时,没有插入任何内容,因为#后面没有{,@,$.

您可以找到RubySpec中记录的功能(感谢@DavidMiani).

有没有推荐适合Ruby语言的替代品?

如果你问我,不要依赖这种行为,并且总是使用大括号插入变量,这既是为了便于阅读,也是为了避免出现以下问题:

@variable = 'foo' puts "#@variable_bar"

这将输出一个空字符串而不是可能的预期字符串“foo_bar”,因为它试图插入未定义的实例变量@variable_bar.

本文共计363个文字,预计阅读时间需要2分钟。

有没有推荐适合Ruby语言的替代品?

参見英文解答+為什麼在沒有花括號的情況下,Ruby 的字串插值仍然能夠工作?1個注意事項:+ 請注意以下事項:abcd

参见英文答案 > Why does string interpolation work in Ruby when there are no curly braces?1个
请注意以下事项:

"abcd#fg" # => "abcd#fg" "abcd#$fg" # => "abcd" characters #$and after them are skipped "abcd#@fg" # => "abcd" characters #@ and after them are skipped

它可以是#而不是#{}的字符串插值.

$fg = 8 "abcd#$fg" # => "abcd8" @fg = 6 "abcd#@fg" # => "abcd6"

它像插值一样工作.这是一个错误还是一个功能?

您实际上可以插入省略大括号的全局,实例和类变量:

$world = 'world' puts "hello, #$world" # hello, world

在你的例子中,$fg和@fg都是未初始化的,因此被评估为nil,这就是为什么它们作为空字符串被内嵌的原因.当你写“abcd#fg”时,没有插入任何内容,因为#后面没有{,@,$.

您可以找到RubySpec中记录的功能(感谢@DavidMiani).

有没有推荐适合Ruby语言的替代品?

如果你问我,不要依赖这种行为,并且总是使用大括号插入变量,这既是为了便于阅读,也是为了避免出现以下问题:

@variable = 'foo' puts "#@variable_bar"

这将输出一个空字符串而不是可能的预期字符串“foo_bar”,因为它试图插入未定义的实例变量@variable_bar.