我看到了一个简单问题的有趣答案。
问题是:"获取从gets
"
正确答案之一是:p gets.sum/~/$/
我搜索了Google,但无法找到有关此语法的任何解释。任何见解都是受欢迎的。感谢。
答案 0 :(得分:2)
我们在这里有几件事情
gets.sum
只是在gets
输入的字符串上调用sum
并返回一个整数。结果只是str ...
中每个字节的二进制值之和
/$/
只是一个Regexp,正在查找该行的结尾~
operator上的Regexp告诉它对$_
global variable进行操作,sacha:spin是gets
或readline
的最后一个字符串输入。简而言之,这将返回行尾的索引将rxp与$ _的内容进行匹配。相当于rxp =〜$ _。
/
,它只是一个操作2个整数的除法运算符。也可以使用一些空格来编写更清晰的内容
p gets.sum / ~/$/
注意:如果这是一个平均值,他们会添加\n
的值,但之后不会将其除去:
gets.sum/~/$/
# Hello
# => 102
"Hello".sum / "Hello".length
# => 100
"Hello\n".sum / "Hello".length
# => 102
"Hello\n".sum / "Hello\n".length
# => 85