Project1

标题: 为什么字符串不支持减法? [打印本页]

作者: px.凤翔九天    时间: 2011-2-2 00:06
标题: 为什么字符串不支持减法?
如题,字符串之间不直接支持减法,但是直接支持加法.....为什么要如此设定呢?
觉得做个减法不是很纠结啊...为什么不自带呢?还得另想办法处理。
作者: Wind2010    时间: 2011-2-2 00:17
  1. shizi_text = "测试文字"
  2. shizi_text = shizi_text.split("")
  3. for i in 0...shizi_text.size
  4.   for j in "文字".split("")
  5.     if shizi_text[i] == j ? shizi_text.delete_at(i)
  6.   end
  7. end
复制代码
好吧我只是来瞎扯的
作者: 越前リョーマ    时间: 2011-2-2 00:21
“a” + “b” = “ab”
这是加法

“a” - “b” = ?
“a”里本来就没有“b”,这样运算就无法继续了,字符可是没有负概念的。
作者: px.凤翔九天    时间: 2011-2-2 00:33
回复 越前リョーマ 的帖子

我是说这样
a="pxpypz"
b="px"
p a-b
然后果断报错。
作者: 江湖大虾仁    时间: 2011-2-2 00:44
回复 px.凤翔九天 的帖子


"pxpxpx"-"px"以后是什么?
"pxpx"还是""?

这个很难规定啊- -|
作者: 苏小脉    时间: 2011-2-2 00:56
回复 px.凤翔九天 的帖子

字符串的串接运算用"+"表示在很多语言中都已形成规范,且通俗易懂,但"-"没有。你的意思是想让它切掉第一个"px",抑或是切掉所有出现的"px",但其它人对这个"-"的字面意义可能有别的解释。好的代码习惯会尽量避免出现一千个哈姆雷特,否则就增加了不清楚语言特性或实现细节的读者的阅读困难。


作者: 我爱食叉包    时间: 2011-2-2 00:57
表示完全是无意义的问题,楼主完全陷入误区,这种问题。。。有意义么?字符串什么的用来加减毫无任何意义,lz别研究这个了。。
作者: yangff3    时间: 2011-2-2 01:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: enghao_lim    时间: 2011-2-2 01:57
其实你应该先去理解operator的...
作者: 六祈    时间: 2011-2-2 02:33
回复 px.凤翔九天 的帖子

点评不能用[]
  1. a[b]=""
复制代码
即可

不过你会发现,其实有很多的歧义和不可预见的结果【其实是可预见】
作者: ClaudeBell    时间: 2011-2-2 03:44
减法明显会有歧义的吧...一般都是用函数删掉某段字符串吧
作者: 英顺的马甲    时间: 2011-2-2 08:44
你不会用gsub!啊
  1. a.gsub!(/px/) { "" }
  2. p a
复制代码

作者: px.凤翔九天    时间: 2011-2-3 11:00
额,懂了,貌似的确减法容易出现歧义.....gsub!什么的....
不是我不会写减法的代码...只是想问一下....
感谢ls各位解答。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1