结构体 Punct

1.29.0 · 源代码
pub struct Punct(/* private fields */);
展开描述

Punct 是一个单独的标点符号字符,例如 +-#

多字符运算符如 += 表示为两个 Punct 实例,并返回不同的 Spacing 形式。

实现§

源代码§

impl Punct

1.29.0 · 源代码

pub fn new(ch: char, spacing: Spacing) -> Punct

从给定的字符和间距创建一个新的 Punct。参数 ch 必须是语言允许的有效标点符号字符,否则函数将 panic。

返回的 Punct 将具有默认的 span Span::call_site(),可以使用下面的 set_span 方法进一步配置。

1.29.0 · 源代码

pub fn as_char(&self) -> char

将此标点符号字符的值作为 char 返回。

1.29.0 · 源代码

pub fn spacing(&self) -> Spacing

返回此标点符号字符的间距,指示它是否可以与后面的 token 合并成一个多字符运算符(Joint),或者运算符是否已确定结束(Alone)。

1.29.0 · 源代码

pub fn span(&self) -> Span

返回此标点符号字符的 span。

1.29.0 · 源代码

pub fn set_span(&mut self, span: Span)

配置此标点符号字符的 span。

Trait 实现§

1.29.0 · 源代码§

impl Clone for Punct

源代码§

fn clone(&self) -> Punct

返回值的副本。 阅读更多
1.0.0 · 源代码§

fn clone_from(&mut self, source: &Self)

source 执行拷贝赋值。 阅读更多
1.29.0 · 源代码§

impl Debug for Punct

源代码§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

使用给定的格式化器格式化值。 阅读更多
1.29.0 · 源代码§

impl Display for Punct

将标点符号字符打印为字符串,该字符串应可无损地转换回相同的字符。

源代码§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

使用给定的格式化器格式化值。 阅读更多
1.29.0 · 源代码§

impl From<Punct> for TokenTree

源代码§

fn from(g: Punct) -> TokenTree

从输入类型转换为此类型。
1.52.0 · 源代码§

impl PartialEq<Punct> for char

源代码§

fn eq(&self, rhs: &Punct) -> bool

测试 selfother 值是否相等,由 == 使用。
1.0.0 · 源代码§

fn ne(&self, other: &Rhs) -> bool

测试 !=。默认实现几乎总是足够的,除非有非常充分的理由,否则不应覆盖它。
1.50.0 · 源代码§

impl PartialEq<char> for Punct

源代码§

fn eq(&self, rhs: &char) -> bool

测试 selfother 值是否相等,由 == 使用。
1.0.0 · 源代码§

fn ne(&self, other: &Rhs) -> bool

测试 !=。默认实现几乎总是足够的,除非有非常充分的理由,否则不应覆盖它。
源代码§

impl ToTokens for Punct

源代码§

fn to_tokens(&self, tokens: &mut TokenStream)

🔬这是一个仅限 nightly 的实验性 API。(proc_macro_totokens #1309977)
self 写入给定的 TokenStream阅读更多
源代码§

fn to_token_stream(&self) -> TokenStream

🔬这是一个仅限 nightly 的实验性 API。(proc_macro_totokens #1309977)
self 直接转换为 TokenStream 对象。 阅读更多
源代码§

fn into_token_stream(self) -> TokenStream
where Self: Sized,

🔬这是一个仅限 nightly 的实验性 API。(proc_macro_totokens #1309977)
self 直接转换为 TokenStream 对象。 阅读更多
1.29.0 · 源代码§

impl !Send for Punct

1.29.0 · 源代码§

impl !Sync for Punct

自动 Trait 实现§

Blanket 实现§

源代码§

impl<T> Any for T
where T: 'static + ?Sized,

源代码§

fn type_id(&self) -> TypeId

获取 selfTypeId阅读更多
源代码§

impl<T> Borrow<T> for T
where T: ?Sized,

源代码§

fn borrow(&self) -> &T

从拥有的值中不可变地借用。 阅读更多
源代码§

impl<T> BorrowMut<T> for T
where T: ?Sized,

源代码§

fn borrow_mut(&mut self) -> &mut T

从拥有的值中可变地借用。 阅读更多
源代码§

impl<T> CloneToUninit for T
where T: Clone,

源代码§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬这是一个仅限 nightly 的实验性 API。(clone_to_uninit #126799)
self 执行拷贝赋值到 dest阅读更多
源代码§

impl<T> From<T> for T

源代码§

fn from(t: T) -> T

返回未改变的参数。

源代码§

impl<T, U> Into<U> for T
where U: From<T>,

源代码§

fn into(self) -> U

调用 U::from(self)

也就是说,此转换是 From<T> for U 实现所选择的任何操作。

源代码§

impl<T> ToOwned for T
where T: Clone,

源代码§

type Owned = T

获得所有权后的结果类型。
源代码§

fn to_owned(&self) -> T

从借用的数据创建拥有的数据,通常通过克隆实现。 阅读更多
源代码§

fn clone_into(&self, target: &mut T)

使用借用的数据替换拥有的数据,通常通过克隆实现。 阅读更多
源代码§

impl<T> ToString for T
where T: Display + ?Sized,

源代码§

fn to_string(&self) -> String

将给定值转换为 String阅读更多
源代码§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

源代码§

type Error = Infallible

转换错误时返回的类型。
源代码§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

执行转换。
源代码§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

源代码§

type Error = <U as TryFrom<T>>::Error

转换错误时返回的类型。
源代码§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

执行转换。