<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Learn_ruby</id>
	<title>Learn ruby - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Learn_ruby"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Learn_ruby&amp;action=history"/>
	<updated>2026-04-17T16:05:11Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=Learn_ruby&amp;diff=559&amp;oldid=prev</id>
		<title>Evan：​/* fun */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Learn_ruby&amp;diff=559&amp;oldid=prev"/>
		<updated>2021-11-22T03:36:32Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;fun&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=fun=&lt;br /&gt;
&lt;br /&gt;
[https://www.infoq.cn/article/3VAEudwWmwDhLx1LUbmX Ruby 之父：写 Ruby 时工作特别闲，总加班的人很难做出创造]&lt;br /&gt;
&lt;br /&gt;
https://blog.codinghorror.com/why-ruby/&lt;br /&gt;
&lt;br /&gt;
=IDE for ruby=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
怎么感觉配置完 vim 写ruby 好过emacs 呢 是em没配置好么 &lt;br /&gt;
&lt;br /&gt;
mkdir -p ~/.vim/autoload ~/.vim/bundle &amp;amp;&amp;amp; \&lt;br /&gt;
&lt;br /&gt;
把https://tpo.pe/pathogen.vim 这个文件放到   ~/.vim/autoload/pathogen.vim 手工可能更加快因为原因你懂的 &lt;br /&gt;
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vim ~/.vimrc&lt;br /&gt;
&lt;br /&gt;
if has(&amp;#039;mouse&amp;#039;)&lt;br /&gt;
    set mouse-=a&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
execute pathogen#infect()&lt;br /&gt;
syntax on&lt;br /&gt;
filetype plugin indent on&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo gem install rsense&lt;br /&gt;
&lt;br /&gt;
#The Rsense server is started from the commandline with:&lt;br /&gt;
rsense start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
emacs 见 emacs 入门 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ruby programming=&lt;br /&gt;
==chapter2==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 names = [&amp;quot;love&amp;quot;,&amp;quot;my love&amp;quot;,&amp;quot;xi&amp;quot;,&amp;quot;me&amp;quot;]&lt;br /&gt;
names = [&amp;quot;love&amp;quot;,&amp;quot;my love&amp;quot;,&amp;quot;xi&amp;quot;,&amp;quot;me&amp;quot;]&lt;br /&gt;
names.each do |name|&lt;br /&gt;
    if /love/ =~ name&lt;br /&gt;
        puts name&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#执行结果&lt;br /&gt;
 ruby   28.rb &lt;br /&gt;
love&lt;br /&gt;
my love&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==chapter3==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env ruby &lt;br /&gt;
filename = ARGV[0]&lt;br /&gt;
file = File.open(filename)&lt;br /&gt;
text = file.read &lt;br /&gt;
print text &lt;br /&gt;
file.close &lt;br /&gt;
&lt;br /&gt;
=begin&lt;br /&gt;
    &lt;br /&gt;
ruby  read_text.rb  h.rb &lt;br /&gt;
#!/usr/bin/env ruby &lt;br /&gt;
puts &amp;quot;hello world&amp;quot;    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cat h.rb &lt;br /&gt;
#!/usr/bin/env ruby &lt;br /&gt;
puts &amp;quot;hello world&amp;quot;&lt;br /&gt;
=end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Ruby 连接 Mysql - MySql2==&lt;br /&gt;
[https://www.runoob.com/ruby/ruby-mysql-mysql2.html Ruby 连接 Mysql - MySql2]&lt;br /&gt;
&lt;br /&gt;
=ruby_tour=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 sudo apt-get install ruby-full &lt;br /&gt;
&lt;br /&gt;
  ruby -v&lt;br /&gt;
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux-gnu]&lt;br /&gt;
evan@myxps:~/lx/ssh/intra$ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
交互式 Ruby（IRb）&lt;br /&gt;
&lt;br /&gt;
交互式 Ruby（IRb）为体验提供了一个 shell。在 IRb shell 内，您可以逐行立即查看解释结果。&lt;br /&gt;
&lt;br /&gt;
这个工具会随着 Ruby 的安装自动带有，所以您不需要做其他额外的事情，IRb 即可正常工作。&lt;br /&gt;
&lt;br /&gt;
只需要在命令提示符中键入 irb，一个交互式 Ruby Session 将会开始，&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
intra$ irb&lt;br /&gt;
irb(main):001:0&amp;gt; puts &amp;quot;hey evan&amp;quot;&lt;br /&gt;
hey evan&lt;br /&gt;
=&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* base 20分钟学会Ruby &lt;br /&gt;
&lt;br /&gt;
evan@myxps:~$ irb&lt;br /&gt;
irb(main):001:0&amp;gt;  3+2&lt;br /&gt;
=&amp;gt; 5&lt;br /&gt;
irb(main):002:0&amp;gt; 3*4&lt;br /&gt;
=&amp;gt; 12&lt;br /&gt;
irb(main):003:0&amp;gt; 3**2&lt;br /&gt;
=&amp;gt; 9&lt;br /&gt;
irb(main):004:0&amp;gt; Math.sqrt(9)&lt;br /&gt;
=&amp;gt; 3.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
方法 function &lt;br /&gt;
&lt;br /&gt;
rb(main):005:0&amp;gt; def h &lt;br /&gt;
irb(main):006:1*   puts &amp;quot;hey ruby&amp;quot;&lt;br /&gt;
irb(main):007:0&amp;gt; end&lt;br /&gt;
=&amp;gt; :h&lt;br /&gt;
irb(main):008:0&amp;gt; h&lt;br /&gt;
hey ruby&lt;br /&gt;
=&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
irb(main):009:1* def h(name)&lt;br /&gt;
irb(main):010:1*   puts &amp;quot;hello #{name}&amp;quot;&lt;br /&gt;
irb(main):011:0&amp;gt; end&lt;br /&gt;
=&amp;gt; :h&lt;br /&gt;
&lt;br /&gt;
irb(main):012:0&amp;gt; h(&amp;quot;eva&amp;quot;)&lt;br /&gt;
hello eva&lt;br /&gt;
=&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
irb(main):014:1* def h(name=&amp;quot;world&amp;quot;)&lt;br /&gt;
irb(main):015:1*   puts &amp;quot;hello #{name.capitalize}!&amp;quot;&lt;br /&gt;
irb(main):016:0&amp;gt; end &lt;br /&gt;
=&amp;gt; :h&lt;br /&gt;
&lt;br /&gt;
如果不输入参数，那么就会使用默认参数world。&lt;br /&gt;
irb(main):017:0&amp;gt; h &amp;quot;evan&amp;quot;&lt;br /&gt;
hello Evan!&lt;br /&gt;
=&amp;gt; nil&lt;br /&gt;
irb(main):018:0&amp;gt; h&lt;br /&gt;
hello World!&lt;br /&gt;
=&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
irb(main):019:1* class Greeter&lt;br /&gt;
irb(main):020:2*   def initialize(name = &amp;quot;world&amp;quot;)&lt;br /&gt;
irb(main):021:2*     @name = name &lt;br /&gt;
irb(main):022:1*   end &lt;br /&gt;
irb(main):023:2*   def say_hi&lt;br /&gt;
irb(main):024:2*     puts &amp;quot;HI #{@name}!&amp;quot;&lt;br /&gt;
irb(main):025:1*   end&lt;br /&gt;
irb(main):026:2*   def say_bye &lt;br /&gt;
irb(main):027:2*     puts &amp;quot;bye #{@name}. come back soon.&amp;quot;&lt;br /&gt;
irb(main):028:1*   end &lt;br /&gt;
irb(main):029:0&amp;gt; end&lt;br /&gt;
=&amp;gt; :say_bye&lt;br /&gt;
&lt;br /&gt;
这里有一个新的关键词class，图中定义了一个名叫Greeter的类，里面有一些方法。注意这里的name，现在是一个实例变量，它对于Greeter中的所有类都是可用的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
irb(main):013:0&amp;gt; g = Greeter.new(&amp;quot;pat&amp;quot;)&lt;br /&gt;
irb(main):014:0&amp;gt; g.say_hi&lt;br /&gt;
HI pat!&lt;br /&gt;
=&amp;gt; nil&lt;br /&gt;
irb(main):015:0&amp;gt; g.say_bye&lt;br /&gt;
bye pat. come back soon.&lt;br /&gt;
=&amp;gt; nil&lt;br /&gt;
irb(main):016:0&amp;gt; g.@name&lt;br /&gt;
Traceback (most recent call last):&lt;br /&gt;
        3: from /usr/bin/irb:23:in `&amp;lt;main&amp;gt;&amp;#039;&lt;br /&gt;
        2: from /usr/bin/irb:23:in `load&amp;#039;&lt;br /&gt;
        1: from /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.3/exe/irb:11:in `&amp;lt;top (required)&amp;gt;&amp;#039;&lt;br /&gt;
SyntaxError ((irb):16: syntax error, unexpected instance variable)&lt;br /&gt;
g.@name&lt;br /&gt;
  ^~~~~&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
对象内部&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
rb(main):017:0&amp;gt; Greeter.instance_methods&lt;br /&gt;
=&amp;gt; [:say_hi, :say_bye, :dup, :itself, :yield_self, :then, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :frozen?, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variables, :instance_variable_get, :instance_variable_set, :instance_variable_defined?, :remove_instance_variable, :instance_of?, :kind_of?, :is_a?, :tap, :clone, :display, :hash, :class, :singleton_class, :public_send, :method, :public_method, :singleton_method, :define_singleton_method, :extend, :to_enum, :enum_for, :&amp;lt;=&amp;gt;, :===, :=~, :!~, :nil?, :eql?, :respond_to?, :freeze, :inspect, :object_id, :send, :to_s, :__send__, :!, :==, :!=, :equal?, :__id__, :instance_eval, :instance_exec]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
这里有好多方法，但我们只定义了两个方法，这里是怎么回事呢？这是对象Greeter的全部方法，一个完整的列表，包含了父类定义的一些方法。如果要列出定义在Greeter中的且不包含父类的方法，那就使用参数false：&lt;br /&gt;
&lt;br /&gt;
 Greeter.instance_methods(false)&lt;br /&gt;
=&amp;gt; [:say_hi, :say_bye]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
irb(main):019:0&amp;gt; g.respond_to?(&amp;quot;say_hi&amp;quot;)&lt;br /&gt;
=&amp;gt; true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 官方quickstart==&lt;br /&gt;
20分钟体验 Ruby had &lt;br /&gt;
2021年 10月 31日 星期日 09:49:12 CST&lt;br /&gt;
&lt;br /&gt;
==ruboo==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 irb&lt;br /&gt;
irb(main):001:1* def hello&lt;br /&gt;
irb(main):002:1*   out = &amp;quot;hello world&amp;quot;&lt;br /&gt;
irb(main):003:1*   puts out &lt;br /&gt;
irb(main):004:0&amp;gt; end &lt;br /&gt;
=&amp;gt; :hello&lt;br /&gt;
irb(main):005:0&amp;gt; hello&lt;br /&gt;
hello world&lt;br /&gt;
=&amp;gt; nil&lt;br /&gt;
&lt;br /&gt;
局部变量 &lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/ruby3&lt;br /&gt;
# 不能是ruby 3呀 &lt;br /&gt;
&lt;br /&gt;
class Example&lt;br /&gt;
    VAR1 = 100&lt;br /&gt;
    VAR2 = 200&lt;br /&gt;
    def show &lt;br /&gt;
        puts &amp;quot;第一个常量人值为 #{VAR1}&amp;quot;&lt;br /&gt;
        puts &amp;quot;第二个常量人值为 #{VAR2}&amp;quot;&lt;br /&gt;
    end &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
#创建 对象 &lt;br /&gt;
object=Example.new()&lt;br /&gt;
object.show &lt;br /&gt;
&lt;br /&gt;
=begin &lt;br /&gt;
ruby eva/VAR.rb &lt;br /&gt;
第一个常量人值为 100&lt;br /&gt;
第二个常量人值为 200&lt;br /&gt;
=end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ruby 范围（Range===&lt;br /&gt;
&lt;br /&gt;
[https://www.runoob.com/ruby/ruby-range.html Ruby 范围（Range）]&lt;br /&gt;
&lt;br /&gt;
https://www.runoob.com/ruby/ruby-encoding.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
here&lt;br /&gt;
https://www.runoob.com/ruby/ruby-variable.html&lt;br /&gt;
&lt;br /&gt;
===Ruby 判断===&lt;br /&gt;
https://www.runoob.com/ruby/ruby-decision.html&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/ruby&lt;br /&gt;
# -*- coding: UTF-8 -*-&lt;br /&gt;
x=1&lt;br /&gt;
if x &amp;gt; 2&lt;br /&gt;
    puts &amp;quot;x gt 2&amp;quot;&lt;br /&gt;
elsif x &amp;lt;= 2 and x!=0&lt;br /&gt;
    puts &amp;quot;x is 1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
    puts &amp;quot;无法得知x的值&amp;quot;&lt;br /&gt;
end &lt;br /&gt;
=begin &lt;br /&gt;
&lt;br /&gt;
x is 1&lt;br /&gt;
&lt;br /&gt;
=end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ruby 循环===&lt;br /&gt;
https://www.runoob.com/ruby/ruby-loop.html&lt;br /&gt;
===Ruby 方法===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ruby 方法与其他编程语言中的函数类似。Ruby 方法用于捆绑一个或多个重复的语句到一个单元中。&lt;br /&gt;
&lt;br /&gt;
方法名应以小写字母开头。如果您以大写字母作为方法名的开头，Ruby 可能会把它当作常量，从而导致不正确地解析调用。&lt;br /&gt;
&lt;br /&gt;
方法应在调用之前定义，否则 Ruby 会产生未定义的方法调用异常。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/ruby&lt;br /&gt;
# -*- coding: UTF-8 -*-&lt;br /&gt;
 &lt;br /&gt;
def test(a1=&amp;quot;Ruby&amp;quot;, a2=&amp;quot;Perl&amp;quot;)&lt;br /&gt;
    puts &amp;quot;编程语言为 #{a1}&amp;quot;&lt;br /&gt;
    puts &amp;quot;编程语言为 #{a2}&amp;quot;&lt;br /&gt;
 end&lt;br /&gt;
 test &amp;quot;C&amp;quot;, &amp;quot;C++&amp;quot;&lt;br /&gt;
 test&lt;br /&gt;
&lt;br /&gt;
#=begin&lt;br /&gt;
 #编程语言为 C&lt;br /&gt;
 #编程语言为 C++&lt;br /&gt;
 #编程语言为 Ruby&lt;br /&gt;
 #编程语言为 Perl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/ruby3&lt;br /&gt;
# -*- coding: UTF-8 -*-&lt;br /&gt;
def test&lt;br /&gt;
    i = 100&lt;br /&gt;
    j = 300&lt;br /&gt;
&lt;br /&gt;
return i ,j &lt;br /&gt;
end &lt;br /&gt;
&lt;br /&gt;
var = test &lt;br /&gt;
puts var&lt;br /&gt;
&lt;br /&gt;
#100&lt;br /&gt;
#300&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#可变数量的参数&lt;br /&gt;
&lt;br /&gt;
#类方法&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Ruby 块===&lt;br /&gt;
===Ruby 模块（Module）===&lt;br /&gt;
https://www.runoob.com/ruby/ruby-module.html&lt;br /&gt;
=== Ruby 字符串（String）===&lt;br /&gt;
https://www.runoob.com/ruby/ruby-string.html&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
irb(main):001:0&amp;gt; name1 = &amp;quot;evan&amp;quot;&lt;br /&gt;
=&amp;gt; &amp;quot;evan&amp;quot;&lt;br /&gt;
irb(main):002:0&amp;gt; name2 = &amp;quot;jay&amp;quot;&lt;br /&gt;
=&amp;gt; &amp;quot;jay&amp;quot;&lt;br /&gt;
irb(main):003:0&amp;gt; puts &amp;quot;hello #{name1}, #{name2} where?&amp;quot;&lt;br /&gt;
hello evan, jay where?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Ruby 数组（Array）===&lt;br /&gt;
https://www.runoob.com/ruby/ruby-array.html&lt;br /&gt;
&lt;br /&gt;
===Ruby 哈希（Hash）===&lt;br /&gt;
https://www.runoob.com/ruby/ruby-hash.html&lt;br /&gt;
&lt;br /&gt;
===Ruby 日期 &amp;amp; 时间（Date &amp;amp; Time）===&lt;br /&gt;
https://www.runoob.com/ruby/ruby-date-time.html&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 cat t.rb &lt;br /&gt;
#!/usr/bin/ruby3 -w&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
time = Time.new&lt;br /&gt;
&lt;br /&gt;
# Time 的组件&lt;br /&gt;
puts &amp;quot;当前时间 : &amp;quot; + time.inspect&lt;br /&gt;
puts time.year    # =&amp;gt; 日期的年份&lt;br /&gt;
puts time.month   # =&amp;gt; 日期的月份（1 到 12）&lt;br /&gt;
puts time.day     # =&amp;gt; 一个月中的第几天（1 到 31）&lt;br /&gt;
puts time.wday    # =&amp;gt; 一周中的星期几（0 是星期日）&lt;br /&gt;
puts time.yday    # =&amp;gt; 365：一年中的第几天&lt;br /&gt;
puts time.hour    # =&amp;gt; 23：24 小时制&lt;br /&gt;
puts time.min     # =&amp;gt; 59&lt;br /&gt;
puts time.sec     # =&amp;gt; 59&lt;br /&gt;
puts time.usec    # =&amp;gt; 999999：微秒&lt;br /&gt;
puts time.zone    # =&amp;gt; &amp;quot;UTC&amp;quot;：时区名称&lt;br /&gt;
evan@myxps:~/data/ruby/tmp/time$ ruby3 t.rb &lt;br /&gt;
当前时间 : 2021-10-23 13:51:16.881564735 +0800&lt;br /&gt;
2021&lt;br /&gt;
10&lt;br /&gt;
23&lt;br /&gt;
6&lt;br /&gt;
296&lt;br /&gt;
13&lt;br /&gt;
51&lt;br /&gt;
16&lt;br /&gt;
881564&lt;br /&gt;
CST&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Ruby 范围（Range） ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
果需要，您可以使用 to_a 方法把范围转换为列表。尝试下面的实例：&lt;br /&gt;
&lt;br /&gt;
实例&lt;br /&gt;
#!/usr/bin/ruby&lt;br /&gt;
 &lt;br /&gt;
$, =&amp;quot;, &amp;quot;   # Array 值分隔符&lt;br /&gt;
range1 = (1..10).to_a&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
https://www.runoob.com/ruby/ruby-range.html&lt;br /&gt;
&lt;br /&gt;
=== Ruby 迭代器===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
单来说：迭代(iterate)指的是重复做相同的事，所以迭代器(iterator)就是用来重复多次相同的事。&lt;br /&gt;
&lt;br /&gt;
迭代器是集合支持的方法。存储一组数据成员的对象称为集合。在 Ruby 中，数组(Array)和哈希(Hash)可以称之为集合。&lt;br /&gt;
&lt;br /&gt;
迭代器返回集合的所有元素，一个接着一个。在这里我们将讨论两种迭代器，each 和 collect。&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
==learn by video==&lt;br /&gt;
&lt;br /&gt;
===03数字和文本 ===&lt;br /&gt;
https://www.bilibili.com/video/BV1RJ411Y7A4?p=3&lt;br /&gt;
&lt;br /&gt;
=== temp===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://www.bilibili.com/video/BV1RJ411Y7A4?p=3&amp;amp;spm_id_from=pageDriver&lt;br /&gt;
&lt;br /&gt;
https://www.bilibili.com/video/BV1RJ411Y7A4?p=2&lt;br /&gt;
&lt;br /&gt;
=ruby and devops=&lt;br /&gt;
&lt;br /&gt;
devops/redis-6.2.5/src$ vim  redis-trib.rb &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ruby rails 做的运维管理系统&lt;br /&gt;
&lt;br /&gt;
 Rails 的 CMS 内容管理系统&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/wf0117/p/9218196.html  ruby 爬虫爬取拉钩网职位信息，产生词云报告 ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://xiajian.github.io/2014/10/10/some-ruby-scripts  一些自写Ruby脚本的合集]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==jenkins and ruby==&lt;br /&gt;
&lt;br /&gt;
https://rubygems.org/gems/jenkins_api_client/versions/1.5.3&lt;br /&gt;
&lt;br /&gt;
https://joachim8675309.medium.com/jenkins-ci-pipeline-with-ruby-62017469c7c9&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/wf0117/p/9964807.html  ruby rspec+jenkins+ci_report持续集成生成junit测试报告 ]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/wf0117/p/9969005.html  ruby Rspec+jenkins+allure持续集成 ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ruby API wrappers===&lt;br /&gt;
https://www.jenkins.io/doc/book/using/remote-access-api/&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/alison-lxj/p/10266006.html ruby调用jenkins API使用]&lt;br /&gt;
&lt;br /&gt;
https://github.com/arangamani/jenkins_api_client&lt;br /&gt;
&lt;br /&gt;
https://www.rubydoc.info/gems/jenkins_api_client&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim getjobs.rb&lt;br /&gt;
&lt;br /&gt;
require &amp;#039;jenkins_api_client&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
@client = JenkinsApi::Client.new(:server_url =&amp;gt; &amp;#039;http://192.168.88.108:8080&amp;#039;, :username=&amp;gt;&amp;#039;admin&amp;#039;, :password=&amp;gt;&amp;#039;xxxdddddd&amp;#039;)&lt;br /&gt;
job = @client.job &lt;br /&gt;
puts(job.list_all)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
运行结果 &lt;br /&gt;
&lt;br /&gt;
01_Eureka&lt;br /&gt;
A-PHP&lt;br /&gt;
My-freestyle-job&lt;br /&gt;
My-pipeline-job&lt;br /&gt;
My-pipeline-job01&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@client = JenkinsApi::Client.new(:server_ip =&amp;gt; &amp;#039;0.0.0.0&amp;#039;,&lt;br /&gt;
         :username =&amp;gt; &amp;#039;somename&amp;#039;, :password =&amp;gt; &amp;#039;secret password&amp;#039;)&lt;br /&gt;
# The following call will return all jobs matching &amp;#039;Testjob&amp;#039;&lt;br /&gt;
puts @client.job.list(&amp;quot;^Testjob&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=ruby操作json=&lt;br /&gt;
[https://stackoverflow.com/questions/22132623/ruby-iterate-over-parsed-json Ruby - iterate over parsed JSON]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/wf0117/p/8854899.html ruby json解析&amp;amp;生成]&lt;br /&gt;
&lt;br /&gt;
=install=&lt;br /&gt;
==Building from Source==&lt;br /&gt;
OS默认的是ruby2.7 想试一下3.0.2&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 tar xvf ruby-3.0.2.tar.gz &lt;br /&gt;
 cd ruby-3.0.2/&lt;br /&gt;
&lt;br /&gt;
sudo mkdir -p  /usr/local/ruby3&lt;br /&gt;
 sudo ./configure  --prefix=/usr/local/ruby3&lt;br /&gt;
&lt;br /&gt;
 sudo make -j6&lt;br /&gt;
  sudo make  install&lt;br /&gt;
&lt;br /&gt;
sudo  ln -s /usr/local/ruby3/bin/ruby /usr/bin/ruby3&lt;br /&gt;
sudo  ln -s /usr/local/ruby3/bin/irb /usr/bin/irb3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=see also=&lt;br /&gt;
[[Jekyll]]&lt;br /&gt;
&lt;br /&gt;
[[How to Install Ruby on Rails (RoR) on Debian 10 ]]&lt;br /&gt;
&lt;br /&gt;
[[Rubyonrails基础]]&lt;br /&gt;
&lt;br /&gt;
[[How to Install Ruby2.3 on centos7]]&lt;br /&gt;
=references see also=&lt;br /&gt;
&lt;br /&gt;
[https://www.w3cschool.cn/ruby/ w3cschool.cn Ruby 教程]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.runoob.com/ruby/ruby-tutorial.html runoob.com ruby-tutorial.html Ruby 教程]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/wf0117/category/1040459.html?page=3 ruby学习]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/lijie1010/article/details/79001115  ruby连接linux操作系统shell]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://blog.csdn.net/mmiww/article/details/1363960&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://blog.csdn.net/mmiww/article/details/1355157&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://www.runoob.com/ruby/ruby-installation-unix.html&lt;br /&gt;
&lt;br /&gt;
https://www.cnblogs.com/xuliangxing/p/7132656.html&lt;br /&gt;
&lt;br /&gt;
https://linuxize.com/post/how-to-install-ruby-on-debian-9/&lt;br /&gt;
&lt;br /&gt;
https://flicsdb.com/how-to-install-ruby-on-rails-on-ubuntu-or-kali-linux/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://ruby-china.org/topics/19914  Ruby Introduction to Programming with Ruby - 给 Ruby 新手写的免费电子书 ]&lt;br /&gt;
&lt;br /&gt;
[https://ruby-china.org/wiki/books Ruby &amp;amp; Rails 书籍推荐]&lt;br /&gt;
&lt;br /&gt;
[https://ruby-china.org/wiki/ruby-mirror Ruby 源代码镜像服务]&lt;br /&gt;
&lt;br /&gt;
[https://homeland.ruby-china.org/ homeland. 开源、免费、不限制商业使用的社区论坛系统]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:ops]] [[category:ruby]]&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>