我不明白% comment.length以下代码:
comment.charAt(i % comment.length())
Run Code Online (Sandbox Code Playgroud)
括号之间的部分是否转换为具有与i注释长度相关的值的整数?
例如,如果:
comment = "test"
i = 2
Run Code Online (Sandbox Code Playgroud)
会comment.charAt(i % comment.length())是什么?
%是模运算符,因此您的示例i % comment.length()将解析为2 % 4 = 2.这将返回第三个字符(在索引2处).
模数运算似乎是一种安全措施i >= comment.length().
考虑以下情况:i = 11和comment = "test".如果你只是使用comment.chatAt(i)你会得到一个例外,因为只有4个字符.11 % 4 = 3在这种情况下,模运算将包围它并导致并返回第四个字符(索引3).
| 归档时间: |
|
| 查看次数: |
130 次 |
| 最近记录: |