Smalltalk 使用点'';闲聊

Smalltalk 使用点'';闲聊,smalltalk,pharo,Smalltalk,Pharo,Smalltalk中的用法是什么?根据我的理解,它是不同语句的分隔符,但如果语句位于末尾,则可以省略。正确吗?这个是一个类似的语句分隔符(通常用于行尾)。动机(原因)是英语中的普通句子以结尾 必须/可以省略的地方有: 变量定义 评论 一个语句块或块上的最后一个语句 在方法末尾 定义#选择器或#选择器:消息 Smalltalk/X-jv的一个示例方法: selectorAsRegistryName: aSelector "Splits selector into string words

Smalltalk中
的用法是什么?根据我的理解,它是不同语句的分隔符,但如果语句位于末尾,则可以省略。正确吗?

这个
是一个类似
的语句分隔符(通常用于行尾)。动机(原因)是英语中的普通句子以
结尾

必须/可以省略的地方有:

  • 变量定义

  • 评论

  • 一个语句块或块上的最后一个语句

  • 在方法末尾

  • 定义
    #选择器
    #选择器:消息

  • Smalltalk/X-jv的一个示例方法:

    selectorAsRegistryName: aSelector
        "Splits selector into string words with spaces. 
         For example: itemName becomes 'Item Name'"
        | registryName selectorCollection | 
    
        registryName := String new.
    
        selectorCollection := aSelector asCollectionOfSubCollectionsSeparatedByAnyForWhich:[:ch | ch isUppercase ] withSeparatorsIncluded:true.             
        selectorCollection at: 1 put: selectorCollection copy first asUppercaseFirst. "/ first string must be uppercase too
    
        selectorCollection do: [ :eachString |
            registryName := registryName isEmpty ifTrue: [ eachString ]
                                                ifFalse: [ registryName, Character space, eachString ]   
        ].    
    
        ^ registryName       
    

    我不想把它与现实相比较;在C中,因为在C中它是一个语句终止符——不能省略;在C中的最后一个语句之后,但在Pascal/Delphi中,可以省略;在最后。@JayK-true。Pascal更接近于
    逻辑。我将编辑答案,感谢您改进了答案。来自C++/Python/JavaScript,我发现很难记住何时放置
    ,何时不放置。专门针对您的
    5。选择器名称或消息
    ,能否详细说明?另外,是否有一个工具可以通知(或帮助)您检查语法?谢谢。@laike9m:a选择器
    selectorRegistryname:
    此处的消息
    a选择器
    (其他语言中的方法名称及其参数)。我会开始把
    放在它应该放的地方。您不需要特殊的工具-当您接受代码时,您的代码将被检查是否正确。(在您可以使用代码的工作区中(选择它并执行它)
    ),不正确时会出现错误)。谢谢tukan。实际上,我知道选择器和消息是什么,但我不太明白您所说的
    在这种情况下可以省略。例如,在代码段中,
    String new.
    有点,不能省略。