使用;把「;vs";return";在Ruby方法中

使用;把「;vs";return";在Ruby方法中,ruby,Ruby,编辑以更好地陈述问题: 我正在写一个用英语将数字转换成字符串的方法。例如:888将转换为“888” 我应该使用这两个选项中的哪一个?为什么 选项A(在函数中使用“puts”): 选项B(在函数内部使用“return”,然后在调用函数之前使用“put”): 一般来说,我尽量保持我的代码“纯净”。所谓“纯”,我的意思是没有额外的副作用 在本例中,函数根据其名称请求一个数字,并返回给定数字的英文可读字符串表示形式。我会避免在这个函数中执行任何IO(放置,文件。打开,等等,这些都被认为是副作用)。我将使

编辑以更好地陈述问题:

我正在写一个用英语将数字转换成字符串的方法。例如:888将转换为“888”

我应该使用这两个选项中的哪一个?为什么

选项A(在函数中使用“puts”):

选项B(在函数内部使用“return”,然后在调用函数之前使用“put”):


一般来说,我尽量保持我的代码“纯净”。所谓“纯”,我的意思是没有额外的副作用

在本例中,函数根据其名称请求一个数字,并返回给定数字的英文可读字符串表示形式。我会避免在这个函数中执行任何IO(
放置
文件。打开
,等等,这些都被认为是副作用)。我将使用
返回
变量

如果您的函数被调用为类似于
print\u converted\u number
,我会说让
put
而不是
return
是可以的

基本上我想说的是,你应该用函数的实际功能来命名函数


注意:在Ruby中,您通常可以省略大多数函数中的
返回
。在Ruby中,函数将自动返回最后计算的内容。

一般来说,我尽量保持代码的“纯”。所谓“纯”,我的意思是没有额外的副作用

在本例中,函数根据其名称请求一个数字,并返回给定数字的英文可读字符串表示形式。我会避免在这个函数中执行任何IO(
放置
文件。打开
,等等,这些都被认为是副作用)。我将使用
返回
变量

如果您的函数被调用为类似于
print\u converted\u number
,我会说让
put
而不是
return
是可以的

基本上我想说的是,你应该用函数的实际功能来命名函数


注意:在Ruby中,您通常可以省略大多数函数中的
返回
。在Ruby中,函数将自动返回最后计算的内容。

一般来说,我尽量保持代码的“纯”。所谓“纯”,我的意思是没有额外的副作用

在本例中,函数根据其名称请求一个数字,并返回给定数字的英文可读字符串表示形式。我会避免在这个函数中执行任何IO(
放置
文件。打开
,等等,这些都被认为是副作用)。我将使用
返回
变量

如果您的函数被调用为类似于
print\u converted\u number
,我会说让
put
而不是
return
是可以的

基本上我想说的是,你应该用函数的实际功能来命名函数


注意:在Ruby中,您通常可以省略大多数函数中的
返回
。在Ruby中,函数将自动返回最后计算的内容。

一般来说,我尽量保持代码的“纯”。所谓“纯”,我的意思是没有额外的副作用

在本例中,函数根据其名称请求一个数字,并返回给定数字的英文可读字符串表示形式。我会避免在这个函数中执行任何IO(
放置
文件。打开
,等等,这些都被认为是副作用)。我将使用
返回
变量

如果您的函数被调用为类似于
print\u converted\u number
,我会说让
put
而不是
return
是可以的

基本上我想说的是,你应该用函数的实际功能来命名函数



注意:在Ruby中,您通常可以省略大多数函数中的
返回
。在Ruby中,函数将自动返回最后计算的内容。

在什么情况下?不要说代码说明了这一点。它什么也没说。您好,Sawa,我是一名初学者,我正在做一本书中的练习:创建一个方法,用英语将数字转换成字符串。稍后还会有更多代码来转换十位数和单位数。但就是这样,只是一个学生试图解决一个简单的练习。很抱歉,没有比这更多的了。如果您将来更改代码,并对
numberInEnglish
有其他用途,您最好使用
B
。您不需要在
B
中返回
numberinEnglish
就足够了,因为如果没有显式的
return
,Ruby将返回最后计算的值。按照惯例,红宝石爱好者在不需要时不使用
return
,方法和变量的名称使用“snake-case”而不是“camel-case”,因此在这里写
convert_number_to_english
number_in_english
。在给出示例时,尽可能简短以说明问题。此外,示例中的特定代码并不重要,读者也不会执行这些代码,因此您只需指出代码的位置即可。您可以在这里编写:
defmy_方法<计算my_var>放置my_var的代码;结束
。B:
defmy_方法<计算my_var>my_var的代码;结束;放入我的变量
。是。一般来说,您不能更改问题,如果您的编辑更正了问题或添加了其他信息,您应该指出这是一个编辑(例如,“编辑:…”),但在这里您没有做这两件事,因此我相信您可以在不提及编辑的情况下重述问题。如果有读者不同意这个建议,请说出来。在什么情况下?不要说密码告诉你
def convert_number_to_english number

    <code>

    puts number_in_english
end

convert_number_to_english 888
def convert_number_to_english number

    <code>

   return number_in_english
end

puts convert_number_to_english 888