rust怎么公开个人资料

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rust怎么公开个人资料相关的知识,希望对你有一定的参考价值。

steam公开个人资料步骤:
准备材料:在应用商城下载steam软件、UU加速器。
1、先注册账号,设置密码。登录后会进入主页里的子页“库”。
2、选择“库”右边的英文字母“KINEVEZZZZZZ”(这个是用户名
,可以自我设置),打开个人资料。
3、特别注意,点击个人资料后假如进入不了页面,需要添加UU加速器。
4、显示页面后,选择右侧编辑个人资料,点击进入。
5、进入页面后,左侧菜单点击隐私设置,点击后显示“我的个人资料”,其下显示“游戏详情、好友列表、库存、在我的个人资料页面留言、截图和我的创意工坊物品”五个子选项,在这里都可以选择公开。
参考技术A 您好,rust是一种编程语言,它可以用来创建安全、可靠、高性能的软件。要公开个人资料,可以通过rust的标准库来实现,比如使用std::fs模块中的open函数来打开文件,然后使用std::io模块中的read_to_string函数来读取文件中的内容,最后使用std::fs模块中的write函数来将文件内容写入到新的文件中,从而实现公开个人资料的目的。此外,还可以使用rust的第三方库,比如serde,它可以帮助我们更加方便地实现公开个人资料的功能。 参考技术B 1. 在社交媒体上公开个人资料:在社交媒体上发布个人信息,可以让你的朋友和其他网友了解你,从而增加你的社交网络。
2. 在个人网站上公开个人资料:创建一个个人网站,可以让你的朋友和其他网友更多地了解你,也可以展示你的技能和经历。
3. 在求职网站上公开个人资料:在求职网站上发布个人信息,可以让潜在雇主更多地了解你,从而增加你被录用的机会。
4. 在博客上公开个人资料:在博客上发布个人信息,可以让你的朋友和其他网友更多地了解你,也可以展示你的技能和经历。
参考技术C 在Rust中,玩家可以在游戏设置选项中,允许其他玩家查看自己的个人资料。要公开个人资料,请先打开游戏,然后点击“设置”,再点击“帐户扩展”,最后勾选“公开我的个人资料”即可。 参考技术D 可以通过选择个人设置中的“公开资料”来公开您的个人资料。您可以在这里设置您的名字、头像和其他个人信息,以便其他Rust用户可以查看您的资料。

在 Rust 库中仅公开泛型私有类型的具体变体

【中文标题】在 Rust 库中仅公开泛型私有类型的具体变体【英文标题】:Exposing only a concrete variant of a generic private type in a Rust library 【发布时间】:2022-01-03 05:56:57 【问题描述】:

我有一个 Rust 库 crate,其代码结构如下:

pub struct Foo<X> 
    x: X,


pub fn foo() -> Foo<u32> 
    // ...


// + private functions

特别是,虽然 lib 在内部使用 Foo 的不同变体(例如 Foo&lt;u8&gt;Foo&lt;u32&gt;),但 Foo 仅作为 Foo&lt;u32&gt; 出现在 lib 的公共 API 中。

像我目前所做的那样公开通用Foo 会使lib 的公共API 及其文档变得不必要地复杂:用户永远不会从不是Foo&lt;u32&gt; 的库中获得Foo。因此,我想以某种方式只公开和公开记录Foo&lt;u32&gt;(最好使用不同的非通用名称,例如Bar)并将Foo设为私有。

我尝试过使用类型别名 (type Bar = Foo&lt;u32&gt;),但似乎它们会自动扩展为 cargo doc(而且它们似乎也没有单独的可见性)。

我可能会复制Foo&lt;X&gt; 的定义并将其命名为Bar,然后为Bar 实现类似From&lt;Foo&lt;u32&gt;&gt; 的东西。但是,我对Foo&lt;X&gt; 的实际定义相当复杂,所以我想避免这种情况。

还有其他方法可以实现我的目标吗?

【问题讨论】:

将模块公开给 super,然后从 super 公开具体类型作为别名。 @Netwave 这听起来很有趣,但我真的不知道该怎么做。您能否在答案中发布一个简短的示例? 我用这个想法添加了一个答案,它实际上并没有与pub(super) 一起使用,但背后的主要想法确实有效。 【参考方案1】:

您可以按如下方式从父模块公开类型:

mod prelude 
    mod foo_mod 
        pub struct Foo<X> 
            x: X,
        

        impl Foo<u32> 
            pub fn foo() -> u32 
                32
            
        

        impl Foo<u8> 
            pub fn foo() -> u8 
                8
            
        
    

    pub type FooBar = foo_mod::Foo<u32>;



fn main() 
    use prelude::FooBar; // we can use this
    use prelude::foo_mod::Foo; // we cannot use this

Playground

【讨论】:

谢谢,太好了。我唯一的问题是缺少cargo docFooBar 生成的文档。但是,这可能是一个不同的问题,所以我发布了a separate question。【参考方案2】:

我不建议 Netwave 把戏,它欺骗了 Rust 的公私规则,我认为这样的代码不应该编译。这会将Foo 暴露给用户,因此实际上Foo 是完全公开的,对Foo 的任何更改都是重大更改。

根据您的问题描述:

特别是,虽然 lib 在内部使用不同的 Foo 变体(例如 Foo、Foo),但 Foo 仅作为 Foo 出现在 lib 的公共 API 中。

解决方案是做一个真正的包装器:

pub struct FooBar 
  foo: Foo<u32>,


impl FooBar 
  pub fn some_pub_fct();

正如你所说,这是你应该做的,因为用户不需要泛型,所以你想要的是隐藏用户的实现细节。这比泄露私人项目的 netwave 技巧要好得多。这种方式很清楚,更改FooBar 是一项重大更改,因为它被认为是公共项目。您可以随意更改Foo。用户赢了,你就赢了。

【讨论】:

您的示例与我的示例有很大的不同:您通过将Foo&lt;u32&gt; 设为FooBar 中的私有字段,将Foo&lt;u32&gt; 隐藏在公共API 中。但是,我的 API 的用户需要访问Foo&lt;u32&gt;(我的公共foo 函数返回Foo&lt;u32&gt; 的实例)。在我的实际用例中,类型要复杂得多,因此隐藏通用 Foo&lt;T&gt; 并仅以新名称公开 Foo&lt;u32&gt; 大大提高了可用性。它还隐藏了实现细节,因此我将来可以在不破坏 API 的情况下以不同的方式实现公共类型。有没有办法用你的方法来实现? @FlorianBrucker:“我的公共foo 函数返回Foo&lt;u32&gt; 的实例”——但它可以(并且可能应该)返回FooBar 的实例,从而正确隐藏Foo&lt;u32&gt; 实现细节。

以上是关于rust怎么公开个人资料的主要内容,如果未能解决你的问题,请参考以下文章

rust 参考的资料 转

Rust语言24个绝佳框架项目及资料库

如何在 crate 中将 Rust 项目设为公开,但在其外部设为私有?

我们可以从 instagram 中获取每个公开个人资料的图像总数是多少

使用 API 找出用户在 Instagram 上是不是有公开或私人个人资料?

Rust vs Go,到底该怎么选?