给定一个字符串“ABCDE”,我如何在 Golfscript 中找到另一个字符串“C”的出现索引?
? 运算符似乎不起作用(http://www.golfscript.com/golfscript/builtin.html#?):
“C”“ABCDE”?
给定一个字符串“ABCDE”,我如何在 Golfscript 中找到另一个字符串“C”的出现索引?
? 运算符似乎不起作用(http://www.golfscript.com/golfscript/builtin.html#?):
“C”“ABCDE”?
"C""ABCDE".,,@`@`{@>1$,<=}++?
没有办法"C" "ABCDE" ?
可行 - 如果进行字符串搜索,它将寻找 in 的第一次ABCDE
出现C
。
然而,在 GolfScript 中,字符串实际上是整数数组的不同表示。"ABCDE"67?
给出,2
因为 67 是C
.
一种稍微好一点的方法,您可能希望它可以工作,但实际上并没有,它是 (X)
"C""ABCDE".,,\`{>1$,<}+%\?
这是相当违反直觉的,但“正确”:?
是一个顺序操作,并且字符串优先于数组。比较:
[[1][2][3][4][5]][3]?
["1""2""3""4""5"]"3"?
正如预期的那样,第一个给出 2,但第二个给出 -1,因为 string 的优先级意味着它正在搜索字符串中的数组 - 并且没有数组会等于表示 Unicode 代码点的 int。但是,这些示例确实指出了在使用方法 X 之前将字符串简化为整数数组的另一种方法。
我向 flagitious 发送了一封电子邮件,建议使用一个补丁,并且最新版本的 Golfscript 对string string ?
和有新的行为string array ?
。所以如果你更新,"ABCDE""C"?
应该给2
.