Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';Ruby中的append是什么<&书信电报;_Ruby - Fatal编程技术网

什么';Ruby中的append是什么<&书信电报;

什么';Ruby中的append是什么<&书信电报;,ruby,Ruby,如果a='foo'我可以做a>'bar'-这将是超级傻瓜 你们是怎么做到的?最快的方法是什么 为什么我不能这么做呢?:一个>>“酒吧”-这将是超级傻瓜 因为使用[]更清晰 a = 'foobar' a['bar'] = '' a # 'foo' 如果只需要在末尾匹配bar,请使用正则表达式: a = 'barfoobar' a[/bar$/] = '' a # 'barfoo' a>>“条”不会是“超级复制者”,它会完全模棱两可。a>>b是什么意思?您是将字符从末尾弹出并存储在b中,还是将

如果
a='foo'
我可以做
a>'bar'
-这将是超级傻瓜


你们是怎么做到的?最快的方法是什么

为什么我不能这么做呢?:一个>>“酒吧”-这将是超级傻瓜

因为使用
[]
更清晰

a = 'foobar'
a['bar'] = ''
a # 'foo'
如果只需要在末尾匹配
bar
,请使用正则表达式:

a = 'barfoobar'
a[/bar$/] = ''
a # 'barfoo'
a>>“条”
不会是“超级复制者”,它会完全模棱两可。
a>>b
是什么意思?您是将字符从末尾弹出并存储在
b
中,还是将
b
的值从
a
的末尾取出,还是将两边都转换为整数和位移位
会向我建议字符从左向右移动,而不是我要删除和丢弃左侧的字符

与“附加”或“推送”相反的唯一原因通常称为“弹出”。这些名称来自堆栈(数据结构)术语,可用于阵列:

ary = ?f, ?o, ?o
suffix = ?b, ?a, ?r
suffix.each &ary.method( :push )
ary #=> ["f", "o", "o", "b", "a", "r"]
ary.pop 3 #=> ["b", "a", "r"]
要对字符串使用push和pop,必须首先对其进行排列:

str = 'foobar'
# arrayification
ary = str.each_char.to_a
ary.pop( 3 ).join #=> "bar"
str = ary.join #=> foo

在这种情况下,这会不会不起作用,也不会比gsub干净多少

a = 'foobar'
a.delete!('bar')
=> "foo"

a = 'foobarfoobarfoobarfoobar'
a.delete!('bar')
=> "foofoofoofoo"

这些文件在哪?看起来很简单!你桌子上有订书钉按钮吗?请现在按一下。仍然
a['bar']=''
有点难看。如果我想用正则表达式去掉
bar
的所有实例,该怎么办?看起来怎么样?您可以使用
gsub
。“有点丑”是很主观的。我认为<代码> A> > bar \代码>丑陋,没有语言会与你建议的一样。在我看来,我认为<代码> >代码>将是代码的明显部分。没有理由认为这是天生可取的。使用
>
从字符串末尾修剪字符没有什么明显的区别;我从未听说过任何语言以这种方式使用
>
。如果执行
'foo'>>'bar'
,而字符不在那里可删除,会发生什么情况?这件事没有明智的办法。