`
polyahu
  • 浏览: 23178 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

几个很简单的ruby脚本

    博客分类:
  • ruby
阅读更多
下面是一个计算最大公约数的ruby脚本
#!/usr/bin/ruby
a = ARGV[0].to_i
b = ARGV[1].to_i
c = 0
 
while a != 0
  c = b
  b = a
  a = c % a
end
 
puts b


下面是一个更简洁的写法:
#!/usr/bin/ruby
a, b = ARGV.map(&:to_i)
a, b = 0, 0 if a == 0 or b == 0
a, b = b, a % b while b != 0
puts a


下面是一个检测传入参数是否为素数的脚本
#!/usr/bin/ruby
a = ARGV[0].to_i
i = a - 1
b = 0
while i != 1
  if a % i == 0
    b = 1
  end
  i -= 1
end
 
if b == 0
  puts "is prime."
else
  puts "not prime."
end


下面是两个更简洁的写法:
#!/usr/bin/ruby
a, b = ARGV[0].to_i, 0
for i in (2..a-1)
   b = i if a % i == 0
end
if b == 0
   puts "is prime."
else
   puts "not prime. factor is #{b}"
end


#!/usr/bin/ruby
a, b = ARGV[0].to_i, 0
2.upto(a - 1) { |i| b = i if a % i == 0 }
#(a - 2).times { |i| b = (i + 2) if a % (i + 2) == 0 }
#(2...a).each { |i| b = i if a % i == 0 }
puts b == 0 ? "is prime." : "not prime. factor is #{b}"


一个插入排序...
#!/usr/bin/ruby
array = [7, 6, 5, 1, 8, 9]
 
for i in (0..5)
  for j in (i..5)
    array[i], array[j] = array[j], array[i] while array[i] < array[j]
  end
end
 
for i in (0..5)
  print array[i], " "
end


写的更简洁的...
#!/usr/bin/ruby
array = [7,6,5,1,8,9]
6.times { |i| i.upto(5){ |j|
        array[i], array[j] = array[j], array[i] while array[i] < array[j] }}
6.times { |i| print array[i], " "}
分享到:
评论

相关推荐

    Ruby脚本语言经典教程.pdf

    Ruby的几个核心知识点如下: 1. **面向对象编程(OOP)**:Ruby是一种纯面向对象的编程语言。这意味着在Ruby中,几乎任何事物都是对象,包括数字和字符串。Ruby中的面向对象编程可以让你以直观的方式编写代码,通过...

    易语言源码ruby脚本编辑器易语言源码.rar

    在深入研究源码时,我们可能会遇到以下几个核心知识点: 1. 易语言的API调用:易语言提供了丰富的内置函数和模块,源码中会详细展示如何使用这些API创建和管理用户界面,以及如何控制程序流程。 2. Ruby脚本解析:...

    Ruby自动化脚本实现网络拓扑映射

    实现Ruby自动化脚本进行网络拓扑映射,大致可以分为以下几个步骤: - **设备发现**:通过SNMP、ICMP ping等手段自动发现网络中的所有设备。 - **信息收集**:向发现的设备发送特定命令,收集其接口状态、IP地址、...

    使用Ruby脚本部署Redis Cluster集群步骤讲解

    总结,使用Ruby脚本部署Redis Cluster简化了集群的创建过程,只需几个简单的命令即可完成。这种方式适合在开发和测试环境中快速搭建Redis Cluster,但在生产环境中,可能需要考虑更复杂的部署策略和自动化工具,如...

    language-accelerator:几个简单的ruby脚本可帮助您加速外语习得

    《Ruby脚本加速外语学习:language-accelerator详解》 在快速发展的信息技术时代,学习新技能,尤其是语言技能,已经成为个人提升竞争力的重要途径。而利用编程工具来辅助学习,无疑可以大大提高效率。"language-...

    有助于良好Git进程的脚本_Ruby_下载.zip

    虽然标签部分为空,但我们可以根据标题和描述推测,这个压缩包将涵盖以下几个Git和Ruby相关的知识点: 1. **Git基础**:理解Git的基本概念,如版本控制、分支、合并、提交、回退等,是使用这些脚本的前提。 2. **...

    脚本引擎内核源代码之:Ruby-1.8.6.tar.gz

    描述中提到的"VC6编译通过"意味着这个Ruby源代码可以在Microsoft Visual C++ 6.0(简称VC6)环境下成功编译。VC6是一款经典的C/C++集成开发环境,尽管较旧,但在某些场景下仍被开发者用来构建Windows平台上的应用...

    ruby 标准库

    返回数组中的最后一个元素或最后几个元素。 ```ruby arr = [1, 2, 3] result = arr.last # =&gt; 3 result = arr.last(2) # =&gt; [2, 3] ``` **1.2.37 length** 返回数组的长度。 ```ruby arr = [1, 2, 3] result = ...

    绿化ruby193

    5. 测试绿化后的Ruby环境是否可以正常工作,比如运行`ruby -v`查看版本信息,或者运行一个简单的Ruby脚本来验证。 通过绿化Ruby193,开发者可以在任何支持的系统上快速部署和运行Ruby应用程序,而无需担心与其他已...

    RPG maker 脚本

    在学习RPG Maker脚本时,你需要掌握以下几个关键概念: 1. **核心脚本**:RPG Maker预装了一系列核心脚本,包括基本的游戏循环、战斗系统和事件处理。理解这些核心脚本的工作原理是自定义游戏功能的基础。 2. **...

    redis-3.0.0.tar.gz和ruby脚本(redis-3.0.0.gem)

    在 Ruby 环境中,你可以通过以下步骤安装这个 gem: 1. 确保已经安装了 Ruby 和 Gem:`ruby -v` 和 `gem -v` 应该能显示版本信息。 2. 使用 `gem install redis-3.0.0.gem` 命令安装 gem 包。 安装完成后,就可以...

    Ruby中文文档

    Ruby是一种功能强大的面向对象的脚本语言,她可以使您方便快捷地进行面向对象编程.Ruby使文本处理和系统管理变得简单,与Perl非常相似.一句话:简单明了,扩展性强,移植性好. Ruby的几大亮点: 语法简单 垃圾回收 ...

    脚本编程之: ruby_bcyy_jb51.net

    标题中的“脚本编程之:ruby_bcyy_jb51.net”显然指的是一个关于Ruby编程语言的教程或者文章集合,可能是在jb51.net这个网站上发布或收集的。Ruby是一种面向对象的、动态类型的脚本语言,由日本人松本行弘(Yukihiro ...

    ruby文本编辑器scite

    1. **运行Ruby脚本**:通过Scite的菜单或快捷键,可以直接运行当前打开的Ruby脚本,无需离开编辑器。 2. **调试支持**:配合外部调试器如`ruby-debug-ide`和`debase`,Scite可以提供断点设置、单步执行、查看变量值...

    sketchup-rubyscript-tutorials:Google SketchUp 的 Ruby 脚本教程。 对于那些渴望创建一些常规计算几何的人。 并学习Ruby。 也许也学习编程

    这些教程可能涵盖以下几个方面: 1. **基础概念**:介绍Ruby的基本语法,如变量、数据类型、控制结构、函数等,这些都是编写任何程序的基础。 2. **SketchUp API**:讲解如何使用SketchUp的内置API,这包括获取和...

    Ruby-RubyCompiler针对Ruby设计的AOTAOT编译器

    Ruby Compiler的实现通常涉及以下几个关键步骤: 1. **词法分析**:首先,编译器需要将Ruby源代码分解成一系列的词法单元(tokens),这些词法单元是构成Ruby语句的基本元素,如关键字、标识符、常量、字符串等。 ...

    ruby192安装包

    这通常涉及下载DevKit,解压缩,然后执行几个简单的命令行步骤。 5. **验证安装**:安装完成后,打开命令行窗口,输入`ruby -v`,如果输出显示Ruby192的版本信息,那么恭喜你,安装成功了。 6. **安装Gem**:Ruby...

    delphi使用lysee脚本的例子(windows下)

    在"delphi使用lysee脚本的例子(windows下)"中,我们可以学到以下几个关键知识点: 1. **Delphi与脚本引擎的集成**:Delphi支持与其他语言或脚本引擎的集成,Lysee就是其中之一。通过引入Lysee的库和API,开发者可以...

    Ruby编程Ruby Programming

    根据提供的文件信息,我们将深入探讨与“Ruby编程Ruby Programming”这一主题相关的几个核心知识点。这本面向初学者和高级读者的指南旨在全面介绍Ruby编程语言的基础及其高级特性,因此我们将从多个角度来解析这些...

    ruby-debug-1.87.rar

    本文将深入探讨`ruby-debug-1.87`的功能、安装与使用方法,以及它依赖的几个关键组件。 `ruby-debug-1.87`是一个强大的Ruby调试器,它允许开发者在代码运行时检查变量状态、设置断点、单步执行等,极大地提高了问题...

Global site tag (gtag.js) - Google Analytics