首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在ruby中没有向后循环工作?例如.因为我在10..1

在 Ruby 中,没有直接的向后循环语法,因为它是一种更简洁的方式来表达循环。但是,您可以使用 downto 方法来实现向后循环。downto 方法是 Range 类的一个实例方法,它可以创建一个从大到小的范围,然后您可以使用 each 方法来遍历这个范围。

例如,您可以使用以下代码来实现向后循环:

代码语言:ruby
复制
(10..1).downto(1) do |i|
  puts i
end

这将输出从 10 到 1 的数字,每个数字一行。这里的 1 是您提到的,但是它是不包含在循环中的,因为循环的结束值是 1。如果您想要包含 1,您可以将范围更改为 (10..0)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

流程控制-for循环语句

工作总是有很多工作需要重复性来完成,比如每天都需要执行一次备份、每天都需要分析一次业务的access.log日志,每分钟都需要监测一次主机的状态等等工作,这些重复性的工作我们一般都是使用脚本来完成,对于不需要频繁执行的任务...这个时候我们除了依赖计划任务之外还有很多选择,比如脚本循环语句。...循环的优点 1)节省内存 10M脚本 1M脚本 哪个更剩内存 完成同一个任务 2)结构更清晰 3)节省开发时间成本 一、循环语句-for 1.1、for介绍 脚本执行任务的时候,总会遇到需要循环执行的时候...var in $(seq 10) do echo $var done for var in {0..10..2} do echo $var done for var in {10.....1} do echo $var done for var in {10..1..-2} do echo $var done for var in `seq 10 -2 1

28150

畅谈百年编程语言

但是如果 C 接替了 Algol,他认为这没问题,他只是想知道 Algol 的哪些特性足够好,能够转变存活下来。 想知道 100 年以后,哪些语言还会存在,并且基本上还可以使用。...C 语言操作系统和驱动程序退居一席之地,因此它现在被从一般应用程序编程驱逐出去。 小众的力量是强大的。 不会说“Java 是终极的通用语言,永远都是。”...但对于 Ruby 这样的小众语言来说,却是如此。 更快,更慢 对优先级的担忧也是为什么 Python Python 2 向 Python 3 的过渡花费如此漫长而痛苦的时间。...Python 向后兼容方面做了非常缓慢、慎重的改变。极少数情况下,如果它破坏了向后兼容性,就会被认为是对用户社区的一种背叛。 Ruby 的情况就好得多,因为 Ruby没有承诺太多的向后兼容性。...承诺的某些部分是微不足道的,因为有时你与你的听众在这里的核心原因发生冲突。 Fortran ,他们不把可表达性看得比速度更重要。而在 Ruby ,他们很重视。

24230

前端 vs 后端:哪一个适合你?

例如 Ruby、Rails、Python、Java 等。 好的,现在我们知道它们是什么了,但是你又该如何选择哪一个作为职业的方向呢?老实说,它取决于你的个人喜好以及你选择成为一个开发者的初衷。...前后端通吃的另一个好处是,你可以了解它们之间是如何协同工作的。无论你决定在未来关注哪个方面,这都非常有用。如果你了解另一半的工作原理,那么你就可以项目中创建更好的代码和接口。...最后,当你工作时横跨前后端,你可能会决定不进行选择了!你可能希望通吃前后端,并成为一个全栈工程师。这也是完全可以的!...为什么选择后端 想我应该在这里加上一段为什么最终选择了后端,希望它可以在其他人做决定时帮助他们。当我转行成为一名开发人员时,寻求工作满足感,并决定开始跨整个工作栈。...真正转向后端之前,做了 3 年的全栈开发。吸引来到后台的是 Ruby 的简洁。JavaScript 和前端语言对来说总是缺乏组织性。还热衷于优化代码性能。喜欢想办法让事情运行得更好更快。

1.5K20

不使用 Ruby 的十个理由

姥姥比 Ruby 要年长很多,但是不认为姥姥可以做 Web 应用。 Web 时代,技术每几年就要更新一次,老和成熟不一定就有优势。...Ruby Windows 下工作的不好 这是一定的。Windows 很多方面是伟大的,但不包括开源的 Web 开发。...并不是说 Ruby 没有势力的人,但是绝对不是主流。想很多时候是这样的一种情况:因为 Ruby 是相对比较新的技术,所以一些简单的任务例如和第三方的测试,开发,迭代都相对容易。...当 Twitter 飞速发展的时候,他们必须修改 ActiveRecord 深层次的代码以获得 Rails 中支持多个 MySQL 数据库。不幸的是,人们混淆了 Ruby 和 Rails。...不要因为困难而放弃一样好东西,你可以自己培养 Ruby 开发者。的意思是,如果你认为 Ruby 是正确的技术,那么为什么不多投入一些呢?

4K10

wtfPython—Python中一些奇妙的代码

-5~256因为被经常使用所以被设计成固定存在的对象 6.循环里的局部变量泄露 代码段1 for x in range(7): if x == 6: print(x, ': for...Python,for循环可以使用包含他们的命名空间的变量,并将他们自己定义的循环变量保存下来;* 对于代码段2,如果我们全局命名空间里显示定义for循环变量,则循环变量会重新绑定到现有变量上。...原因 最开始的时候,Python是没有bool类型的(使用0表示false,使用非0值表示真),后来加上了True,False和bool类型;但是为了向后兼容性,True和False并没有被设置成常量,...而只是一个内建变量,所以可以被赋值修改 Python3当中,因为没有向后兼容,所以不会有这种情况发生 10.一步操作,从有到无 some_list = [1, 2, 3] some_dict = {...;即range(4)里的四个值每次迭代的时候都会解包一次并赋值;所以i = 10对迭代没有影响。

44600

画说 Ruby 与 Python 垃圾回收

例如,MRI(Matz’s Ruby Interpreter ) Ruby解释器使用的Mark Sweep算法已经超过了50年的历史,与此同时,Rubinius解释器中使用的一种垃圾回收算法,是Ruby...下面是一个简单类,分别用Python和Ruby写成,我们今天就以此为例: ? 于此同时,两种代码如此相似,让感到非常吃惊:Python和Ruby表达相同的语义时几乎没有差别。...接下来Ruby清除这些无用的垃圾对象,把它们送回到可用列表: ? 在内部这一切发生得迅雷不及掩耳,因为Ruby实际上不会吧对象从这拷贝到那。...的下一篇包含了这个演讲剩余部分笔记的文章,我们会看到,引用计数不能处理环形数据结构--也就是含有循环引用的数据结构。 下回分解 下周我会分解演讲的剩余部分。...我会讨论一下Python如何摆平环形数据类型及GC在即将出炉的Ruby2.1发行版是如何工作的。

69210

【python进阶】Garbage collection垃圾回收1

请注意⼀直在为变量n1赋新值,Ruby把旧值留在原处。"ABC","JKL"和"MNO"三个Node实例还滞留在内存Ruby不会⽴即清除代码不再使⽤的旧对象!...3.Python循环数据结构以及引⽤计数 3.1.循环引⽤ 通过上篇,我们知道Python,每个对象都保存了⼀个称为引⽤计数的整数值,来追踪到底有多少引⽤指向了这个对象。...3.2.Python的零代(Generation Zero) 请注意在以上刚刚说到的例⼦,我们以⼀个不是很常⻅的情况结尾:我们 有⼀个“孤岛”或是⼀组未使⽤的、互相指向的对象,但是谁都没有外部引...因为循环引⽤的原因,并且因为你的程序使⽤了⼀些 ⽐其他对象存在时间更⻓的对象,从⽽被分配对象的计数值与被释放对象的计数值之间的差异逐渐增⻓。...然⽽,偶尔程序会创建⼀ 些很重要的,存活时间⽐较⻓的对象-例如web应⽤的session变量或是配置项。

99070

为什么Java、Python会成为程序员最害怕的编程语言?

Ruby 当我发现 Ruby 榜单上居然排名第 7 位时,让倍感惊讶。Ruby 比 Java 更不受待见吗?这是为什么?...元编程 Rails 等框架得到了出色的应用,但是一直对 Ruby的神奇功能方面感到困扰。这些功能都不利于大型项目。...许多年前, Ruby 或 Rails 会议上曾听到有人这样说:“没有任何大型项目,Ruby 的所有东西都能减少 90% 的代码行数。”...R R “最令人畏惧的名单”中排在第 10 名。认为这是因为一种误解。R 既是也不是一种通用编程语言。一些统计学家告诉,“你们程序员不明白,R 是一个统计工作台,并不是一种编程语言。...循环和 if 语句该教程的最后只有几页,而不是你最先学习的概念之一。为什么要这样?因为如果你正确地使用 R,你就不会需要它们了。它的设计目的是让你不必使用它们。

62010

进阶数据库系列(十一):PostgreSQL 存储过程

工作可能会存在业务比较复杂,重复性工作比较多,需要批量处理数据的情况,此时使用存储过程会方便很多,存储过程的执行效率也会快很多,能帮助我们节省很多代码和时间。...若不给a赋值,就是方法三没有a:=32;也不会报错,就是变量a初始化为sql空值。...例如: FOR i IN 1..10 LOOP -- 循环中将取值 1,2,3,4,5,6,7,8,9,10 END LOOP; FOR i IN REVERSE 10..1 LOOP...-- 循环中将取值 10,9,8,7,6,5,4,3,2,1 END LOOP; FOR i IN REVERSE 10..1 BY 2 LOOP -- 循环中将取值 10,8,6,4,2...FETCH 语句获取游标的记录,如果没有找到更多数据退出循环语句;变量 rec_emp 用于存储游标的记录;最后使用 CLOSE 语句关闭游标,释放资源。

2.1K20

Ruby 和 Java 的基础语法比较

,多学一门语言没有坏处,解决问题的时候可以多些思路,经历最近几个月的横向对比和使用感受,先抛个人结论,个人项目或者小型团队,技术能力较强的团队推荐使用 Ruby团队需要快速扩展和大型项目规划的情况下推荐...,实际上脚本处理程序也正是 Ruby 很擅长的领域 补充:文章对比 Java,Ruby 两种语言语法上的区别,并不是争论哪种编程语言的好坏优劣,个人观点是:编程语言本身没有好坏之分,只有不同场景下做出合适的选择...最后再说一个有意思的循环方法,不过使用场景应该很少,一个没有终止的循环 loop方法,因为没有终止条件,所以必须依赖 break 关键字跳出循环,Java 也可以很轻松实现这种循环效果,只是语法上不同而已...创建散列对象 Time.new # 创建时间对象 函数方法是指没有接收者的方法,这种类型方法Java倒是不存在,参考示例代码,例如上文中函数方法 p p "hello" puts "print words...,因为后续还会继续探索 Ruby 和 Java 在其他使用层面的使用区别对比,例如字符串,数据类型,集合,哈希,最后想留一个问题:你觉得静态语言和动态语言最明显的区别在哪里?

2.2K20

Ruby 和 Python 分析器是如何工作的?

作为一名编写Ruby profiler的先驱,想对现有的Ruby和Python profiler如何工作进行一次调查。 这也有助于回答很多人的问题:“你怎么写一个profiler?”...它们是如何工作的呢?Ruby和Python都允许指定一个回调函数,当各种解释事件(例如调用一个函数或者执行一行代码)发生的时候调用。当回调函数被调用的时候,会记录堆栈供以后分析。...认为确切了解代码哪里设置这些回调函数是很有用的,所以我连接了所有github上边的相关代码。...例如,如果你有某个事物的两个实现:一个通过大量的函数调用实现,另一个没有大量函数调用,两个实现耗时相同,有大量函数调用的相比没有大量函数调用的分析的时候会变得慢。...在这篇文章没有涉及很多重要的细节 – 比如我基本上说vmprof和stacksampler是一样的(但实际上它们不是 – vmprof支持线性分析和用C语言编写的Python函数分析,相信这在分析器引入了更多的复杂性

91220

Ruby和Python 分析器是如何工作的?

作为一名编写Ruby profiler的先驱,想对现有的Ruby和Python profiler如何工作进行一次调查。 这也有助于回答很多人的问题:“你怎么写一个profiler?”...它们是如何工作的呢?Ruby和Python都允许指定一个回调函数,当各种解释事件(例如调用一个函数或者执行一行代码)发生的时候调用。当回调函数被调用的时候,会记录堆栈供以后分析。...认为确切了解代码哪里设置这些回调函数是很有用的,所以我连接了所有github上边的相关代码。...例如,如果你有某个事物的两个实现:一个通过大量的函数调用实现,另一个没有大量函数调用,两个实现耗时相同,有大量函数调用的相比没有大量函数调用的分析的时候会变得慢。...在这篇文章没有涉及很多重要的细节 – 比如我基本上说vmprof和stacksampler是一样的(但实际上它们不是 – vmprof支持线性分析和用C语言编写的Python函数分析,相信这在分析器引入了更多的复杂性

88790

通过 for 循环,比较 Python 与 Ruby 编程思想的差别

对象告诉for如何进行协作,而for的循环体会处理对象返回的内容。 Ruby 则相反。 Ruby ,for本身(通过each)是对象的一个方法。调用者将for循环体传递给这个方法。... Python 的语言习惯,对象模型服从于 for 循环。而在 Ruby ,for 循环服从于对象模型。...但区别还远不止于此: Python 构建类似于 for 的结构,用于各种处理;Ruby 将数据处理工作放到方法。...Ruby 代码块包含了混乱的过程世界,让对象使用这些过程块。 Ruby没有为了遵循语言的过程性基础而破坏对象,而是使过程性代码适应对象的世界观。...具备着必要的时候编写 C 语言的能力,它进化了,令那个世界更加安全。也许这就是为什么它在系统资源密集的数值计算领域中,找到了用武之地。

70720

通过 for 循环,比较 Python 与 Ruby 编程思想的差别

Ruby 与 Python 之间的差异很大程度上可通过for循环看出本质。 Python 拥有for语句。对象告诉for如何进行协作,而for的循环体会处理对象返回的内容。 Ruby 则相反。... Ruby ,for本身(通过each)是对象的一个方法。调用者将for循环体传递给这个方法。 Python 的语言习惯,对象模型服从于 for 循环。...而在 Ruby ,for 循环服从于对象模型。...但区别还远不止于此: Python 构建类似于 for 的结构,用于各种处理;Ruby 将数据处理工作放到方法。...Ruby 代码块包含了混乱的过程世界,让对象使用这些过程块。 Ruby没有为了遵循语言的过程性基础而破坏对象,而是使过程性代码适应对象的世界观。

94630

通过 for 循环,比较 Python 与 Ruby 编程思想的差别

Ruby 与 Python 之间的差异很大程度上可通过 for 循环看出本质。...对象告诉for如何进行协作,而for的循环体会处理对象返回的内容。 Ruby 则相反。 Ruby ,for 本身(通过 each)是对象的一个方法。调用者将for循环体传递给这个方法。... Python 的语言习惯,对象模型服从于 for 循环。而在 Ruby ,for 循环服从于对象模型。...但区别还远不止于此: Python 构建类似于 for 的结构,用于各种处理;Ruby 将数据处理工作放到方法。...Ruby 代码块包含了混乱的过程世界,让对象使用这些过程块。 Ruby没有为了遵循语言的过程性基础而破坏对象,而是使过程性代码适应对象的世界观。

33510

通过 for 循环,比较 Python 与 Ruby 编程思想的差别

Ruby 与 Python 之间的差异很大程度上可通过for循环看出本质。 Python 拥有for语句。对象告诉for如何进行协作,而for的循环体会处理对象返回的内容。 Ruby 则相反。... Ruby ,for本身(通过each)是对象的一个方法。调用者将for循环体传递给这个方法。 Python 的语言习惯,对象模型服从于 for 循环。...而在 Ruby ,for 循环服从于对象模型。...但区别还远不止于此: Python 构建类似于 for 的结构,用于各种处理;Ruby 将数据处理工作放到方法。...Ruby 代码块包含了混乱的过程世界,让对象使用这些过程块。 Ruby没有为了遵循语言的过程性基础而破坏对象,而是使过程性代码适应对象的世界观。

81310

Google 是如何设计 Ruby Serverless Runtime 的?

Google 设计 Ruby Serverless Runtime 时面临的一些设计问题,做出的决策以及为什么做出这些决策。...不会逐步介绍设计本身。相反,想讨论我们面临的一些设计问题,做出的决策以及为什么做出这些决策。因为这是一个关于如何将 Ruby 约定与公共云约定融合的有趣练习。...这就是为什么这种“顶级”方法简单的单文件 Ruby 脚本和 Rakefiles 很常见,但在大型 Ruby 应用程序不推荐使用。...例如,很容易将 Sinatra 应用程序置于云函数之上,因为它们都能支持 Rack。 从长远来看,我们越来越希望函数即服务(Faas)能够作为事件系统的一个组件。...认为对于大多数工作负载来说,它到底有多有用还没有定论,但可能性是有趣的。“零”devops,自动维护和扩容,不需要维护服务器,只需要为实际使用的计算资源付费。

2.2K60

不要学习“网红”编程语言

“实现一个试点项目,用这个策略来暗度陈仓,眼皮底下把 Ruby 整合进系统。剩下的工作Ruby 完成就可以了。...这就突出了 Ruby 语言正陷入恶性循环因为缺乏好的信息和教程,新手开发者就不愿选择它;而因为没有足够的新人,市场对信息和教程的需求也随之减少。...例如,Azure 官方库中有 22 个问题仍在开放,其中的依赖性问题大多源自 Nokogiri 库版本过老。知道这例子有点极端,但它确实能反映出生存状态的一个侧面。...比较流行的 Ruby 开源项目方面,能想到的也只有 Discourse 和 Mastodon。...自 2008 年以来出现的一切 SaaS,未来几十年都需要新的开发者加入进来。 但我们也要考虑到, Ruby 陷入萎缩的同时,Node.js 开始快速流行。

2.1K30

对 CIDER, Projectile, Prelude 作者 Bozhidar Batsov 的采访

GitHub 上花费了大量(空闲)时间,为各种开源 Ruby、Clojure 和 Emacs Lisp项目做出贡献。...(例如https://batsov.com/articles/2011/11/19/why-emacs/ ) 如前所述,主要在 Linux (WSL) 编程。...:-) 也很幸运的下一份工作与一些非常忠诚的 Emacs 大师一起工作,他们巩固了对 Lisps 和 Emacs 的热爱。...认为它对于想要从头开始构建配置的人也非常有用,因为它为他们提供了大量指向正确方向的指示(例如,他们知道那里所有的包都是高质量的)。否则他们将不得不做很多额外的发现工作。...人们可以很容易地看出是如何经历大量 OSS 活动和几乎没有活动的循环的。有时也会从工作中休息更长的时间。 你创造的一些你最喜欢的东西是什么?

61420
领券