ruby基礎文法

2772 ワード

先発:個人ブログ、更新&誤り訂正&返信
異なる言語を勉強して、よくそれらの基礎文法を混同して、例えばifの後ろに()があるかどうか、後ろがthenなのか、それとも{、終わりがendなのか、それとも}なのか.
このようなことは技術的な含有量がなく、面白くないが、流暢度に大きく影響しているので、今回はruby文法を見て、基礎文法をメモして、後で調べるのに便利にすることにした.
コードはここに置いてありますが、現在はrubyしかありません.後で別の言語を使うときに続々と追加します.
内容は以下の通り、最も基本的な使い方で、必要に応じて一目でわかります.
#  :《Ruby      》   、   

#        ,        
CHANG_LIANG = 1
bian_liang = 2
bian_liang = "2"#   

##    
#if
if 2 > 1 then
    #
elsif 2>2 then
    #
else
    #
end
#if  
puts "if  " if 2 > 1
#unless
unless 2 > 1 then
    #
else
    #
end
#case
case 1+1
when 2 then
    #
when 3 then
    #
else
    #
end

##    
#while
while 1>2
    #
end
#until
until 1<2
    #
end
#for
for i in (1..3)
   #
end
#foreach      
(1..3).each do |i|
    #   break next  ,next        continue
end

##    
module MyModule#    
    #   
    class MyClass#       
        attr_accessor :myAttr#      
        def initialize
            @myAttr2 = "@       "
        end
        public#      public/protected/private
        def myMethod#      
            puts "        " + myAttr + @myAttr2
        end
    end
    #  
    class MySubClass < MyClass
    end
    #      
    def moduleMethod
        puts "MyModule     "
    end
end#     end
#  
myClass = MyModule::MyClass.new#     
myClass.myAttr = "      "#       
myClass.myMethod#      
#      
def myClass.newMethod
    puts "       "
end
myClass.newMethod
#                
load 'ruby_another_module.rb'
anotherClass = AnotherModule::AnotherClass.new#           
anotherClass.print#     
#  
class UseMixin
    include MyModule
    extend MyModule
end
UseMixin.new.moduleMethod#include     ,        
UseMixin.moduleMethod#extend     ,       

##   
def blockMethod#        ,  yield       
    yield
end
blockMethod {puts "     "}
#       
def blockMethodWithParam(arg, &b)#            
    b.call arg
end
block = Proc.new{|x| puts x}#        
blockMethodWithParam("      ", &block)#        
blockMethodWithParam("       "){|x| puts x}

##    
begin
    #         
rescue Error#        catch
    #      
    retry#      
ensure
    #        finally,           
end

##    
#  
a=123_456#      
b=0b101010#   
c=0123#   
d=0xaa#    
e=?a#ascii 
puts d
#    
#   
str = "hello, world"
str = %{  , "world"}#         
str[0] = " "
puts str
#   
#  
(1..3).each{|a| puts a}
#  
[1,2,3].each{|a| puts a}
#  
map = {"  "=>"    ", "  "=>"    "}
puts map["  "]
#     
"ab12cd".scan(/\d/){|m| puts m}#        
puts /\d/.match("ab12cd")[0]#match  

長期的にプロジェクトの協力機会の紹介を歓迎して、プロジェクトの収入の10%は紹介者に感謝します.新浪微博:@冷鏡,QQ:908789432.