2016-06-27 4 views
0

私は最近、 "4 * n!"を計算するこのコードに出くわしました。なぜですか?ルビーの返品 "A"

?*で私が興味を持って作られた、と実験時に私が見た
def moreThanUsual n 
    eval [*1..n, 4] * ?* 
    # 4 * Math.gamma(n + 1) 
end 

>> ?* 
=> "*" 
>> ?a 
=> "a" 
>> ?1 
=> "1" 
>> ?8 
=> "8" 
>> ?83 
SyntaxError: (irb):32: syntax error, unexpected '?' 
    from /usr/local/bin/irb:11:in `<main>' 
>> ?ab 
SyntaxError: (irb):33: syntax error, unexpected '?' 
    from /usr/local/bin/irb:11:in `<main>' 

だけ、それに対して1進行characterrightを取り、文字列にそれを変更し、この奇妙なオペレータは何ですか?

+0

これは、Rubyで1文字の文字列を作成するための短所です。それはあまり知られていないので、ほとんど誰もそれを使用していません。 –

+0

文字通り、文字を右に1文字取って文字列に変換する文字です。 – meagar

答えて

1

疑問符接頭辞は、単一の文字を生成します。それの直後に書いたもの。

関連する問題