Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails遗留代码中,有些行以“1”结尾_Ruby On Rails_Ruby_Legacy Code_Suffix - Fatal编程技术网

Ruby on rails 在Rails遗留代码中,有些行以“1”结尾

Ruby on rails 在Rails遗留代码中,有些行以“1”结尾,ruby-on-rails,ruby,legacy-code,suffix,Ruby On Rails,Ruby,Legacy Code,Suffix,嘿,伙计们 我需要你的帮助。几个月来,我一直在处理主要是遗留的RubyonRails应用程序。今天,我注意到了关于代码库最奇怪的事情。有些文件,不是很多,而是重要的文件,包含了几行代码,最后会变成:;1.比如:Users.findid;1.这些后缀的出现不会创建任何形式的模式。有时是;1出现在puts之后或始终返回值的表达式之后,例如nil | | |“default_value”;一, 使用后缀有意义吗?这背后有什么原因吗?也许曾经有一个工具可以使用Ruby代码和;1为注释形式。我很乐意删除后

嘿,伙计们

我需要你的帮助。几个月来,我一直在处理主要是遗留的RubyonRails应用程序。今天,我注意到了关于代码库最奇怪的事情。有些文件,不是很多,而是重要的文件,包含了几行代码,最后会变成:;1.比如:Users.findid;1.这些后缀的出现不会创建任何形式的模式。有时是;1出现在puts之后或始终返回值的表达式之后,例如nil | | |“default_value”;一,

使用后缀有意义吗?这背后有什么原因吗?也许曾经有一个工具可以使用Ruby代码和;1为注释形式。我很乐意删除后缀,但我想确保它是100%安全的

以下是在同一提交中添加的项目的代码示例:

times = events.map{|x| [x.time, x.time_from_impression_id]};1
times = times.map{|x| (x.first - x.last) / 1.day}.sort;1
time_to_event_success = times[(times.length.to_f * 0.95).to_i]
events = events.select{|e| e.time_from_impression_id < time_to_event_success.days.ago};1

ruby terminate语句中的分号与换行符的方式相同。这个我真的没有做任何有用的事

从逻辑上讲,您发布的代码相当于:

times = events.map{|x| [x.time, x.time_from_impression_id]}
1
times = times.map{|x| (x.first - x.last) / 1.day}.sort
1
time_to_event_success = times[(times.length.to_f * 0.95).to_i]
events = events.select{|e| e.time_from_impression_id < 
time_to_event_success.days.ago}
1

我唯一能想到的是,如果有人在IRB中测试代码,添加;在一行末尾加1将阻止上一条语句的返回值回显。或者他们不太明白隐式返回、truty和falsy值在ruby中是如何工作的。

ruby terminate语句中的分号与换行符的方式相同。这个我真的没有做任何有用的事

从逻辑上讲,您发布的代码相当于:

times = events.map{|x| [x.time, x.time_from_impression_id]}
1
times = times.map{|x| (x.first - x.last) / 1.day}.sort
1
time_to_event_success = times[(times.length.to_f * 0.95).to_i]
events = events.select{|e| e.time_from_impression_id < 
time_to_event_success.days.ago}
1

我唯一能想到的是,如果有人在IRB中测试代码,添加;在一行末尾加1将阻止上一条语句的返回值回显。或者他们不太明白隐式返回以及truty和falsy值在ruby中是如何工作的。

这是旧的遗留问题。不知道人们过去也用ruby来做这件事。不创建任何形式的模式——在你发布的代码中;1似乎出现在返回大的中间步骤或行上?数组。这段代码需要洗个澡,因为里面有很多混乱。希望您能将其重构为更易于阅读的内容。这是旧的遗留错误perl ism。不知道人们过去也用ruby来做这件事。不创建任何形式的模式——在你发布的代码中;1似乎出现在返回大的中间步骤或行上?数组。这段代码需要洗个澡,因为里面有很多混乱。希望您能将其重构为更易于阅读的内容。抑制IRB输出似乎是合理的。我想不出另外一个原因了。@Stefan:是的,这是我想到的第一件事。我总是这样做。只有我使用;抑制IRB输出似乎是合理的。我想不出另外一个原因了。@Stefan:是的,这是我想到的第一件事。我总是这样做。只有我使用;符合事实的