在Ruby中,"101is5".to_i 返回 101 的原因是这个字符串的编码是UTF-8,而UTF-8中数字1和5的编码是\u1和\u5。在UTF-8编码中,字符\u1和\u5的十进制数值是1和5。因此,"101is5".to_i 返回 101。
至于为什么选择101作为返回值,可能是因为在UTF-8编码中,1 和 5 的二进制表示分别是 00000001 和 00000011,这两个二进制数值的和是 00000010,即 10。因此,"101is5".to_i 返回 101 可以看作是返回字符串的 UTF-8 编码中 1 和 5 的二进制表示。
领取专属 10元无门槛券
手把手带您无忧上云