2014-10-28 76 views

回答

9

两个&strString呼吁is_empty的方法:

这是如何使用它们:

assert_eq!("".is_empty(), true); 
assert_eq!("".to_string().is_empty(), true); 
+0

“”.to_string()版本是不必要的字符串分配。 – pyrho 2014-10-28 10:43:08

+7

@pyrho我相信这样做的目的是要显示'&str'和'String'都有'is_empty()'方法。 – Manishearth 2014-10-28 10:44:20

+1

我猜对了,我只是指出这是不好的做法(: – pyrho 2014-10-28 11:35:46

1

找到在doc:

impl Collection for String 
    fn len(&self) -> uint 
    fn is_empty(&self) -> bool 
+0

LEN()返回单元? – 2014-10-28 10:04:49

+0

@AlexanderSupertramp还有什么? – 2014-10-28 10:05:18

+0

还有什么呢? – 2014-10-28 10:06:47

4

其他人回应称Collection.is_empty可以用来知道,如果一个字符串是空的,但假设“为空”你的意思是“只有空格组成”那么你要UnicodeStrSlice.is_whitespace() ,对于空字符串和仅由White_Space unicode属性集构成的字符组成的字符串都是如此。

只有字符串切片实现UnicodeStrSlice,因此如果从String开始,则必须使用.as_slice()

TL; DR:s.is_whitespace()如果s: &strs.as_slice().is_whitespace()如果s: String

+0

这似乎是一个不稳定的外部箱子,有没有其他解决方法? – PENGUINLIONG 2017-08-06 16:08:47

相关问题