ruby-菜鳥入門チュートリアル
8550 ワード
rubyを開発するツールAtom for mac
RubyプログラムをAtomで実行すると、package Scriptをインストールし、Atomを再起動してから
創造者:松本行弘
ルビーは「プログラマーの親友」です.便利なプログラマー、性能はJavaが良くありません
オープンソースで、Web上では無料で提供されていますが、ライセンスが必要です.汎用的で解釈的なプログラミング言語.本格的なオブジェクト向けプログラミング言語.汎用ゲートウェイインタフェース(CGI)スクリプトの作成に使用できます.ハイパーテキストタグ言語(HTML)に埋め込むことができます.開発に使用できるインターネットおよびIntranetアプリケーション.WindowsおよびPOSIX環境にインストールできます.DB 2、MySQL、Oracle、Sybaseに簡単に接続できます.
1.Rubyプログラムのコンパイル/実行
2.Ruby中国語コード
RubyはASCIIコードを使ってソースコードを読みます.中国語で文字化けの解決方法が現れます:#!/usr/bin/ruby-w#--coding:UTF-8--puts「こんにちは、世界!」
3.Rubyのコマンドラインオプション
4.ルビー文法
すべてのRubyファイル拡張子は.rb
Rubyプログラムの空白
Rubyプログラムの行末
Rubyはセミコロンと改行を文の末尾に解釈する.しかし、Rubyが行の最後に演算子、例えば
Ruby識別子
識別子は、変数、定数、メソッドの名前です.
リザーブワード略
RubyのHere Document
「Here Document」とは、複数行の文字列を作成することです.
Ruby BEGIN文
Ruby END文
最終実行
Rubyコメント
1行コメント:
複数行コメント:
データ型
Number数値タイプ整形Integer整形は2種類に分けられ、31位以内の となっている.浮動小数点型浮動小数点数はFloat類の対象である.
えんざんさぎょう
プラスマイナス乗除指数:+-*/**
文字列タイプ
Ruby文字列は、単純に
エスケープ、
文字列を追加できます.
はいれつ
配列の字面量は、配列は にアクセスする.賦値操作により挿入、削除、置換要素 は、 が現れる. を追加する. を通過は、 を行う.
ハッシュ・タイプ
ハッシュは、一連のキー/値ペアをカッコ内に配置し、キーと値の間にカンマとシーケンス
範囲タイプ
1つの範囲は1つの区間を表す.範囲(1.3)は1,2,3範囲(1...3)は1,2を表す
クラスとオブジェクト
Rubyは完璧なオブジェクト向けのプログラミング言語です.データパッケージ データ抽象 多態性 継承 クラスの定義:
キーワードendを使用してクラスを終了します.クラス内のすべてのデータメンバーはクラス定義とendキーワードの間にある.
Rubyクラスの変数ローカル変数メソッドで定義された変数で、ローカル変数はメソッド外では使用できません.局所変数は インスタンス変数インスタンス変数は、任意の特定のインスタンスまたはオブジェクトにわたる方法で使用することができる.インスタンス変数は、オブジェクトからオブジェクトへの変更が可能です.インスタンス変数は、変数名の前に符号を置く( クラス変数クラス変数は、異なるオブジェクト間で使用することができる.クラス変数はクラスに属し、クラスの属性です.クラス変数は、変数名の前にシンボルを配置します( グローバル変数クラス変数はクラス間で使用できない.クラス間で使用できる変数を指定したい場合は、グローバル変数を定義する必要があります.グローバル変数は常にドル記号(
Customerのinstanceを作成するたびに@no_of_Customers+1 Customerクラスのインスタンスを統計できます
Rubyでnewメソッドを使用してオブジェクトを作成する
Rubyオブジェクトを作成するためのカスタムメソッド
略
Rubyクラスのメンバー関数
rubyでは、関数を方法と呼ぶ.クラスの各メソッドは、キーワード
Rubyクラスのケース
Ruby変数
変数は、任意のプログラムで使用することができる任意のデータを保持する格納文の位置である.Rubyは5種類の変数をサポートする.は、一般に小文字、下線で始まる.変数 $先頭、グローバル変数 @先頭、インスタンス変数 @@先頭、クラス変数、クラス変数は継承チェーン全体にわたって貢献されたばかりの 大文字先頭:定数 Rubyグローバル変数
グローバル変数は
Rubyのインスタンス変数
インスタンス変数は
Rubyのクラス変数
クラス変数は
ブロックブロックは、大量のコードから構成される. は、ブロックに名前を付ける必要があります. ブロックのコードは、常に括弧 ブロックは、常に同じ名前の関数から呼び出される.これは、ブロック名がtestの場合、関数testを使用してブロックを呼び出すことを意味します. は、yield文を使用してブロックを呼び出すことができる.
yield
ie1.
result:
ie2.
result:
ブロックとメソッド
ブロックは、通常、
メソッドの最後のパラメータの前に
BEGINとENDブロック
各
Rubyのモジュール
モジュール(モジュールは、名前の競合を回避するために命名された を提供する.モジュールはmixin装置 を実現する.モジュールはインスタンス化できない モジュールにはサブクラスがない モジュールは、他のモジュールによってのみ定義される 例:
クラスメソッドのように、モジュールでメソッドを定義する場合は、モジュール名の後にポイント番号、ポイント番号の後にメソッド名を付けるように指定できます.
Rubyのrequire文
Ruby require文を使用してモジュールファイルをロード
ファイル参照:
RubyプログラムをAtomで実行すると、package Scriptをインストールし、Atomを再起動してから
Command + I
で実行する.必ず再起動してください.1. Click on Packages --> Commmand Palette --> Select Toggle.
2. Type Install Packages and Themes.
3. Search for Script and then install it.
4. Press Command + I to run the code (on Mac)
創造者:松本行弘
ルビーは「プログラマーの親友」です.便利なプログラマー、性能はJavaが良くありません
オープンソースで、Web上では無料で提供されていますが、ライセンスが必要です.汎用的で解釈的なプログラミング言語.本格的なオブジェクト向けプログラミング言語.汎用ゲートウェイインタフェース(CGI)スクリプトの作成に使用できます.ハイパーテキストタグ言語(HTML)に埋め込むことができます.開発に使用できるインターネットおよびIntranetアプリケーション.WindowsおよびPOSIX環境にインストールできます.DB 2、MySQL、Oracle、Sybaseに簡単に接続できます.
1.Rubyプログラムのコンパイル/実行
puts "Hello World!";
2.Ruby中国語コード
puts " , !";
: invalid multibyte char (US-ASCII)
RubyはASCIIコードを使ってソースコードを読みます.中国語で文字化けの解決方法が現れます:#!/usr/bin/ruby-w#--coding:UTF-8--puts「こんにちは、世界!」
3.Rubyのコマンドラインオプション
4.ルビー文法
すべてのRubyファイル拡張子は.rb
Rubyプログラムの空白
a + b a+b ( )
a +b a(+b) ( )
Rubyプログラムの行末
Rubyはセミコロンと改行を文の末尾に解釈する.しかし、Rubyが行の最後に演算子、例えば
+
、-
、または\
に遭遇した場合、それらは文の継続を表す.Ruby識別子
識別子は、変数、定数、メソッドの名前です.
Ruby
識別子は大文字と小文字に敏感である.これは、Ram
およびRAM
がRuby
において2つの異なる識別子であることを意味する.リザーブワード略
RubyのHere Document
「Here Document」とは、複数行の文字列を作成することです.
<<
以降では、文字列を終了する文字列または識別子を指定できます.現在の行の後、終了文字までのすべての行が文字列の値です.print <
Ruby BEGIN文
puts " Ruby "
BEGIN {
puts " Ruby "
}
// " Ruby "
Ruby END文
最終実行
Rubyコメント
1行コメント:
#
複数行コメント:
=begin
=end
データ型
Ruby
は、Number,String,Ranges,Symbols
のデータ型、およびtrue
、false
、およびnil
のいくつかの特殊な値をサポートします.Number数値タイプ
Fixnum
がBignum
を超えるえんざんさぎょう
プラスマイナス乗除指数:+-*/**
文字列タイプ
Ruby文字列は、単純に
8
バイトのシーケンスである、String
クラスのオブジェクトである.二重引用符マークの文字列は逆斜線記号の置換と使用を許可する、単引用符マークの文字列は置換を許可せず、\\
と\'
の2つの逆斜線記号のみを使用することを許可する.エスケープ、
\
Ruby式#{expr}
i.e.
puts " : #{24*60*60}"
// : : 86400
文字列を追加できます.
name = "Liao Maer"
puts name + ", Loving"
// -> Liao Maer Loving
はいれつ
配列の字面量は、
[]
にカンマで区切る定義され、range
の定義がサポートする.[]
インデックスを介して+
-
号を介して要素を結合および削除し、集合を新しい集合として<<
号により元データに要素*
号重複配列要素|
および&
のシンボルによって、並列および交差動作(注意順序)i.e.
ary = ["fred", 10, 10.2, "this can be help", "last element"]
ary.each do |i|
puts i
end
ハッシュ・タイプ
ハッシュは、一連のキー/値ペアをカッコ内に配置し、キーと値の間にカンマとシーケンス
=>
で区切られます.末尾のカンマは無視されます.hashs = colors = {"red"=> 0xf00, "green"=>0x0f0, "blue"=>0x00f}
colors.each do |key, value|
print key, " is ", value, "
"
end
範囲タイプ
1つの範囲は1つの区間を表す.範囲(1.3)は1,2,3範囲(1...3)は1,2を表す
(10..15).each do |n|
print n, ' '
end
クラスとオブジェクト
Rubyは完璧なオブジェクト向けのプログラミング言語です.
class Customer
end
キーワードendを使用してクラスを終了します.クラス内のすべてのデータメンバーはクラス定義とendキーワードの間にある.
Rubyクラスの変数
または_
で始まる.@
).@@
).$
)で始まる.i.e.
class Customer
@@no_of_customers=0
end
Customerのinstanceを作成するたびに@no_of_Customers+1 Customerクラスのインスタンスを統計できます
Rubyでnewメソッドを使用してオブジェクトを作成する
cust1 = Customer. new // . space
Rubyオブジェクトを作成するためのカスタムメソッド
略
Rubyクラスのメンバー関数
rubyでは、関数を方法と呼ぶ.クラスの各メソッドは、キーワード
def
で開始する、メソッド名に続く.メソッド名は常に小文字で始まる.rubyでは、キーワードendでメソッドを終了することができる.class Sample
def hello
puts "hello, world"
end
end
sample = Sample.new
sample.hello
Rubyクラスのケース
class Customer
@@no_of_customers=0
def initialize(id, name, addr)
@cust_id = id
@cust_name = name
@cust_addr = addr
end
def display_details()
puts "Customer id #@cust_id"
puts "Customer name #{@cust_name}"
puts "Customer addr #{@cust_addr}"
end
def total_no_of_customeers()
@@no_of_customers += 1
puts "Total number of customers:#{@@no_of_customers}"
end
end
cust1 = Customer.new("1", "jack", "beijing")
puts cust1.display_details // `()`, , , ,
Ruby変数
変数は、任意のプログラムで使用することができる任意のデータを保持する格納文の位置である.Rubyは5種類の変数をサポートする.
グローバル変数は
$
で始まる.初期化されていないグローバル変数の値はnil
です.永続-w
のオプションである後、警告が発生する.Rubyのインスタンス変数
インスタンス変数は
@
で始まるRubyのクラス変数
クラス変数は
@@
で始まる、メソッドで使用するには初期化が必要である.初期化されていないクラス変数を参照するとエラーが発生します.クラス変数は、彼のクラスまたはモジュールのサブクラスまたはアルファベットの速い中で共有して使用することができる.-w
のオプションを使用すると、クラス変数のリロードに警告が発生する.ブロック
{}
内に含まれる.block_name{
statement1
statement2
..........
}
yield
ie1.
def test
puts "in test method"
yield
puts "you back to test method"
yield
end
test {puts "you are in block"}
result:
in test method
you are in block
you back to test method
you are in block
ie2.
def test1
yield (5)
puts " test "
yield (100)
end
test1{
|i| puts "you are in #{i} block"
}
result:
you are in 5 block
test
you are in 100 block
ブロックとメソッド
ブロックは、通常、
yield
文を使用して同じ名前の方法から呼び出される.def test
yield
end
test{ puts "Hello world"}
メソッドの最後のパラメータの前に
&
がある場合、メソッドにブロックを渡すことができ、このブロックを最後のパラメータに割り当てることができます.パラメータリストに*
と&
が同時に表示される場合は、&
を後ろに配置します.def test(&block)
block.call
end
test { puts "Hello World!"}
# : Hello World!
BEGINとENDブロック
各
Ruby
ソースファイルは、ファイルがロードされたときに実行されるコードブロック(BEGIN
ブロック)と、プログラムの実行が完了した後に実行されるコードブロック(END
ブロック)とを宣言することができる.Rubyのモジュール
モジュール(
Module
)は、方法、クラス、定数を組み合わせる方法である.module Trig
PI = 3.141592654
def Trig.sin(x)
# .. end
def Trig.cos(x)
# .. end
end
クラスメソッドのように、モジュールでメソッドを定義する場合は、モジュール名の後にポイント番号、ポイント番号の後にメソッド名を付けるように指定できます.
Rubyのrequire文
require
文は、C
およびC++
のinclude
文、およびJava
のimport
文と類似している.Ruby require文を使用してモジュールファイルをロード
ファイル参照:
$LOAD_PATH << '.' # ruby
require 'trig.rb'
require 'moral' # .rb
y = Trig.sin(Trig::PI/4)
wrongdoing = Moral.sin(Moral::VERY_BAD)