有括号 or 无括号

在编写Scala程序的时候,经常会定义或调用一些方法,经常会发现某些无参方法既可以写括号调用也可以不加括号调用,在开发者定义方法时也会面临这样的选择,看起来对我们的程序并没有什么影响,但是对于一些标准还是遵守比较好。

Scala鼓励将不带参数且没有副作用的方法定义为无参数的风格,即省略空括号。但是对于有副作用的方法不要这样做,因为那样看起来像是在使用字段。例如:println()。

另一种判断的方法是:如果你调用的函数执行了操作就使用括号,但如果仅提供了对某个属性的访问,那么省略空括号。

时间: 2024-10-25 13:46:52

有括号 or 无括号的相关文章

c++对象创建带括号与无括号的区别

class Test{public: Test() {} Test(int a) {}} 1.栈上创建对象 1.1 无括号 Test a; // 调用默认构造函数,栈上分配内存创建对象 1.2 有括号 Test a(); // 无任何意义,声明一个返回值为Test对象的无参函数 1.3 有括号+参数 Test a(2); // 调用构造函数Test(int a),栈上分配内存创建对象 2.堆上创建对象 2.1 无括号 Test *a = new Test; // 调用默认构造函数(若由编译器生成

栈的应用 -- 无括号表达式的求值

package com.learn.algorithm.expression; import java.util.HashMap; import java.util.Map; import java.util.Stack; /** * 无括号表达式求值 * @author Jiekun.Cui * */ public class Expression { /** * 操作符的优先级定义 */ public static Map<String,Integer> optProirity = nul

函数基础重点掌握内容:创建函数、return返回单个值、return返回多个值、函数名加括号与不加括号的区别

##比较两个数大小 #有参函数!!! def compare(s,t): if s > t: print(s) else: print(t) f=compare compare(1000,30) f(1800,30) """有几个参数传几个参数,形参对应实参,一个也不能少""" ''' 2.函数名加括号与不加括号的区别: 函数名加括号与不加括号的区别: --在这个函数中,return返回的是inner, 内部其实是返回inner函数的运行结

new一个对象后面加括号与不加括号的区别

new一个对象后面加括号与不加括号的区别 ? 加括号与不加的区别 (1)加括号 ??? 1. 若括号为空,即无实参项,那么理解为调用默认构造函数: ??? 2. 若括号非空,即有实参项,可以理解为调用重载构造函数,或 复合默认构造函数. (2)不加括号 调用默认构造函数,或复合默认构造函数. 默认构造函数 与 复合默认构造函数的区别 默认构造函数:编译器会为每一个类默认提供一个构造函数,称之为默认构造函数.默认构造函数一般参数为空. 复合默认构造函数:一个由用户自定义的所有形式参数都赋有默认值的

正则获取方法的括号以及花括号

[)][\r](?<=\)\r)(?=\s{9}{)\s{9}{ 作用如:获取红色部分,用于替换 ? 1 2 3 4 public string UpdateFormula(<span style="color: rgb(255, 0, 0);">)</span> <span style="color: rgb(255, 0, 0);">{</span>      } 排除某个单词 abcd,ab,d,a \b(

Java高精度四则运算(无括号限制)

package cn.skyatom.common; import java.math.BigDecimal; import java.util.regex.Matcher; import java.util.regex.Pattern; /**  * 基础四则运算  *  * @author ZWK  */ public class Arithmetic {     private static String getUUID() {         return java.util.UUID.

[菜鸟]C++创建类对象时(无参)后不加括号与加括号的区别

在不考虑用new动态创建对象的情况下,用最普通的 类名 对象名(参数); 的方法创建对象 先贴上最正常最普通的代码 #include<iostream> using namespace std; class C{ public: C(){ cout<<"Hello C++\n"; }; C(int m){ cout<<"I love C++\n"; }; private: int n; }; int main(){ C c; re

227. Basic Calculator II 无括号版本计算器

[抄题]: Implement a basic calculator to evaluate a simple expression string. The expression string contains only non-negative integers, +, -, *, / operators and empty spaces . The integer division should truncate toward zero. Example 1: Input: "3+2*2&q

new对象时,类名后加括号与不加括号的区别

[1]默认构造函数 关于默认构造函数,请参见随笔<类中函数> 请看测试代码: 1 #include <iostream> 2 using namespace std; 3 4 // 空类 5 class empty 6 { 7 }; 8 9 // 一个默认构造函数,一个自定义构造函数 10 class Base 11 { 12 public: 13 Base() 14 { 15 cout << " default Base construct " &