最近在学 rust, 大家是如何练习语法得 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iorilu
V2EX    Rust

最近在学 rust, 大家是如何练习语法得

  •  
  •   iorilu 2024-07-16 11:19:18 +08:00 3545 次点击
    这是一个创建于 471 天前的主题,其中的信息可能已经有所发展或是发生改变。

    rust 语法相对其他语言可能比较繁杂, 尤其各种类型, 符号使用等

    需要大量练习, 但 rust 又是编译语言

    简单的法子就是在 main.rs 输入各种语句表达式等, 编译看有没有错

    有没有更好的法子呢

    17 条回复    2024-09-07 22:43:01 +08:00
    ruanimal
        1
    ruanimal  
       2024-07-16 11:22:47 +08:00
    jupyter
    augustheart
        2
    augustheart  
       2024-07-16 11:23:37 +08:00
    ???为啥还要编译才能看出有没有错?语法提示和自动完成是摆设还是你就是传说中用记事本写代码的牛人?
    iorilu
        3
    iorilu  
    OP
       2024-07-16 11:26:01 +08:00
    @augustheart 因为是学习, 我特意用文本编辑器编写

    个人认为, 这个语言初学确实要一个字符一个字符得敲, 减少自动化得干扰, 多出错以后才能减少错误
    FYFX
        4
    FYFX  
       2024-07-16 11:30:32 +08:00   1
    rust 不用 lsp 是不是对自己太狠了
    我是把 rustlings 和 100-exercises-to-learn-rust 都做了一遍
    fioncat
        5
    fioncat  
       2024-07-16 11:33:52 +08:00
    可以多做做开源项目,了解语言实际落地是怎么用的。
    iorilu
        6
    iorilu  
    OP
       2024-07-16 11:46:06 +08:00
    @FYFX 初学阿, 毕竟原来主要用 python, 语法差很远, 所以可以多敲一敲代码 , 熟悉下各种类型及语法结构

    学一段时间后, 真写项目肯定用 lsp 得
    artiga033
        7
    artia033  
       2024-07-16 11:52:20 +08:00 via Android
    [rust 的 REPL]( https://github.com/evcxr/evcxr/blob/main/evcxr_repl/README.md)

    另外我认为语法是编程语言最不重要的东西,至少在学习过程中,尤其是对于 Rust ,和其他语言主要的区别点其实是所有权和生命周期、异步机制等等。

    如果单看语法就觉得 Rust 很新奇可能是其他语言了解少了
    kneo
        8
    kneo  
       2024-07-16 11:54:25 +08:00 via Android
    @iorilu 文本编辑器写代码,没必要。文本编辑器除了浪费时间,教不会你任何东西。

    不用 copilot 的情况下,IDE 几乎不会替你写任何代码。用 IDE 写的代码还是你的。但它会帮助你更快理解代码,更快思考。

    文本编辑器是愚人的把戏。一些好为人师的半吊子给人提供学习意见的时候就特别喜欢强调少用 IDE 。
    dalabenba
        9
    dalabenba  
       2024-07-16 12:13:45 +08:00 via Android
    rust 不加 lsp 根本不会写,老年大脑记不住类型,加了 lsp 体验就是满分,没必要折腾自己
    dalabenba
        10
    dalabenba  
       2024-07-16 12:15:31 +08:00 via Android
    @dalabenba 而且加了 ide 可以更快地给你反馈,比你改-编-改的反馈快多了,更有利于学习
    openmynet
        11
    openmynet  
       2024-07-16 12:27:06 +08:00   1
    我现在都是把 rs 当 js 来写,毕竟都是同一个作者出的。所有权:有借有还,再借不难(不借,不借就复制(clone)一份 );生命周期: 过时不候。其他时候感觉完全就是强类型的 js 。
    rqzrqh
        12
    rqzrqh  
       2024-07-16 14:07:36 +08:00
    把自己以前做的项目用 rust 重写
    JoJoWuBeHumble
        13
    JoJoWuBeHumble  
       2024-07-17 14:25:17 +08:00
    我怎么觉得你这像考自动挡,练车非要练手动挡
    iorilu
        14
    iorilu  
    OP
       2024-07-17 15:09:18 +08:00
    @JoJoWuBeHumble 就要多练加深肌肉记忆阿

    比如我已经十几次忘掉 println 后面的!了
    JARKECHONG
        15
    JARKECHONG  
       2024-08-14 16:48:13 +08:00
    @FYFX lsp 是什么
    bunny189
        16
    bunny189  
       2024-08-27 19:06:10 +08:00 via iPhone
    @openmynet 哥你要这么说我可要不知死活去学 rust 了啊
    timothyye
        17
    timothyye  
       2024-09-07 22:43:01 +08:00
    @JARKECHONG The Language Server Protocol (LSP) defines the protocol used between an editor or IDE and a language server that provides language features like auto complete.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3810 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 46ms UTC 05:15 PVG 13:15 LAX 22:15 JFK 01:15
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86