Ruby中使用的#(尖锐,数字,磅,哈希)符号是什么?

JAC*_*K M 22 ruby

Ruby sharp/number sign/pound/hash(#)符号的含义是什么?

#Ruby 中的符号有多少个上下文?

我知道#`代表评论

# a comment
Run Code Online (Sandbox Code Playgroud)

或'转换为价值':

i = 1
print "#{i}" # simple example
Run Code Online (Sandbox Code Playgroud)

但是我也看到一些Ruby文档描述了这样的内置方法:

Array#fill
File::file?
Run Code Online (Sandbox Code Playgroud)

他们为什么用2个不同的符号描述同样的事情?我是Ruby的新手.谢谢

fre*_*oid 12

这是实例方法描述的方式:

Array#fill 
Run Code Online (Sandbox Code Playgroud)

所以你可以:

a = Array.new(2)
 => [nil, nil]
a.fill(42)
 => [42, 42]
Run Code Online (Sandbox Code Playgroud)

这是方法描述的方式:

String::new

s = String.new('abc')
 => "abc"
Run Code Online (Sandbox Code Playgroud)


Ste*_*ner 10

在Perl中,#用于评论,并且由于Perl是Ruby的"祖先",因此角色被延续了.

"#{}"语法被称为"插值"和英镑被挑最可能的原因是插在某种意义上类似的评论,因为你改变你的代码的情况下(在这种情况下另一个上下文执行)

类名后面的#只是表示以下标识符是该类的方法,并且只是一种约定.在这里阅读更多相关信息:为什么Ruby文档中的方法前面有一个井号?