gpt4 book ai didi

ruby - 快速建议 : How should this be written in Ruby?

转载 作者:数据小太阳 更新时间:2023-10-29 06:57:21 28 4
gpt4 key购买 nike

我是一名 Java/C++ 程序员,Ruby 是我的第一门脚本语言。有时我发现我在某些领域没有尽可能高效地使用它,例如:

目标:仅解析文件中的某些行。我要使用的模式是有一条非常大的线,尺寸大于 15,其余的肯定更小。我想忽略大行之前(包括)的所有行。

def do_something(str)
puts str
end


str =
'ignore me
me too!
LARGE LINE ahahahahha its a line!
target1
target2
target3'

flag1 = nil
str.each_line do |line|
do_something(line) if flag1
flag1 = 1 if line.size > 15
end

我写了这个,但我认为它可以写得更好,也就是说,一定有比设置标志更好的方法。也欢迎大家推荐如何写出漂亮的 Ruby 代码。

注意/澄清:我需要在大行首次出现后打印所有行。

最佳答案

str.lines.drop_while {|l| l.length < 15 }.drop(1).each {|l| do_something(l) }

我喜欢这个,因为如果你从左到右阅读它,它读起来几乎和你原来的描述一模一样:

将字符串分成多行并删除短于 15 个字符的行。然后放下另一行(即第一行超过 14 个字符)。然后对剩下的每一行做一些事情。

您甚至不需要一定了解 Ruby 或编程根本就能够验证这是否正确。

关于ruby - 快速建议 : How should this be written in Ruby?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2118549/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com