如何看懂编译器的函数使用说明? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
airbotgo

如何看懂编译器的函数使用说明?

  •  
  •   airbotgo 2022 年 7 月 24 日 1377 次点击
    这是一个创建于 1370 天前的主题,其中的信息可能已经有所发展或是发生改变。

    非理工科,没接触过编程,现在学习中。

    以 list 的 Dart 在线编译器为例:https://dartpad.dev/?

    1 、选中关键词shuffle,编译器会出现该函数的语法说明:

    void shuffle([Random? random])

    中括号里面的“Random? random”是什么意思?使用“”一般什么用途?

    2 、forEach 的说明void forEach(void Function(String) action)

    括号中的void Function(String) action 是什么意思?

    3 、如何将一个表达式快速添加到另一个函数的输入中?

    例如先写完了一个很复杂的包含很多括号的表达式:xxxxxxxxxxxxxxxxxxxxx

    想在print()中使用它:print(xxxxxxxxxxxxxxxxxxxxx),有时候一不留神就把print()后一个括号补错了位置,这里书写有什么技巧?

    7 条回复    2022-07-25 10:40:54 +08:00
    sadfQED2
        1
    sadfQED2  
       2022 年 7 月 24 日 via Android
    1.2 你需要学习编程的基本知识,编程语言的基本语法。
    3.专业的编辑器有代码补全功能,不过我不知道你这个语言有没有相关的 ide
    airbotgo
        2
    airbotgo  
    OP
       2022 年 7 月 24 日
    @sadfQED2 对上面的语法解释的书有推荐的吗?主要是这种描述不知道什么意思。
    以 void shuffle([Random? random])为例,返回类型为 void ,里面的参数可选,但是 Random? random 是什么意思呢?这个“?”表示什么?

    3.我找到了一个方法,可以像 word 文档那样,选中然后拖动到指定的地方。
    0TSH60F7J2rVkg8t
        3
    0TSH60F7J2rVkg8t  
       2022 年 7 月 24 日   1
    关于 1 ,用 Google 搜索关键字:
    dart question mark
    第一条答案就是啊:
    If you want a variable of type String to accept any string or the value null , give the variable a nullable type by adding a question mark ( ? ) after the type name. For example, a variable of type String? can contain a string, or it can be null.
    详情: https://dart.cn/codelabs/null-safety
    zxCoder
        4
    zxCoder  
       2022 年 7 月 24 日
    不会 dart ,但这个很好理解吧,你学下语法就知道了
    void Function(String) action
    这个我猜意思就是参数叫做 action ,这是一个函数类型的参数,特指接收 String 参数,返回 void 的函数
    ysc3839
        5
    ysc3839  
       2022 年 7 月 24 日 via Android
    看文档。编辑器的快速提示不能代替文档,不要对着快速提示就瞎猜测怎么用。
    很多时候写出 bug 就是因为看了快速提示就想当然觉得应该这么用,实际上文档和想象中的并不一样。
    lixiang2017
        6
    lixiang2017  
       2022 年 7 月 25 日 via Android
    3. 成对输入括号后再往中间加表达式。坚守成对输入这一原则,无论长短。
    Vaspike
        7
    Vaspike  
       2022 年 7 月 25 日
    1. 三楼说的很明确了
    2. 问号在形参和返回值类型声明处出现时表示: 对于传入 /返回 的值可以为空(null) 以你说的为例,大写的 Random 代表传入参数的应为 Random 类型,问号代表也可以传入一个 null(我不知道在 dart 里 null 是什么关键字); 小写的 random 则是给这个传入的参数一个名称,在这个 shuffle 函数内,random 这个名称都直接代表传入的这个变量
    3. 同 6 楼,不过这个工作本应当编译器来完成


    祝楼主早日走出编程的新手村
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     929 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 47ms UTC 22:34 PVG 06:34 LAX 15:34 JFK 18:34
    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