V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
airbotgo
V2EX  ›  问与答

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

  •  
  •   airbotgo · 2022-07-24 08:32:29 +08:00 · 1048 次点击
    这是一个创建于 882 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    3.我找到了一个方法,可以像 word 文档那样,选中然后拖动到指定的地方。
    0TSH60F7J2rVkg8t
        3
    0TSH60F7J2rVkg8t  
       2022-07-24 10:07:36 +08:00   ❤️ 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-07-24 16:55:24 +08:00
    不会 dart ,但这个很好理解吧,你学下语法就知道了
    void Function(String) action
    这个我猜意思就是参数叫做 action ,这是一个函数类型的参数,特指接收 String 参数,返回 void 的函数
    ysc3839
        5
    ysc3839  
       2022-07-24 18:00:32 +08:00 via Android
    看文档。编辑器的快速提示不能代替文档,不要对着快速提示就瞎猜测怎么用。
    很多时候写出 bug 就是因为看了快速提示就想当然觉得应该这么用,实际上文档和想象中的并不一样。
    lixiang2017
        6
    lixiang2017  
       2022-07-25 00:46:37 +08:00 via Android
    3. 成对输入括号后再往中间加表达式。坚守成对输入这一原则,无论长短。
    Vaspike
        7
    Vaspike  
       2022-07-25 10:40:54 +08:00
    1. 三楼说的很明确了
    2. 问号在形参和返回值类型声明处出现时表示: 对于传入 /返回 的值可以为空(null) 以你说的为例,大写的 Random 代表传入参数的应为 Random 类型,问号代表也可以传入一个 null(我不知道在 dart 里 null 是什么关键字); 小写的 random 则是给这个传入的参数一个名称,在这个 shuffle 函数内,random 这个名称都直接代表传入的这个变量
    3. 同 6 楼,不过这个工作本应当编译器来完成


    祝楼主早日走出编程的新手村
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   906 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:10 · PVG 06:10 · LAX 14:10 · JFK 17:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.