Rubyはマルチプラットフォームで自由に配布され、機能豊富でオープンソースのコマンドラインソフトウェアであり、Rubyでアプリケーションを構築したい開発者に強力なプログラミング言語を提供するために設計されています。
機能、多くの機能
主な機能には、AdaとEiffelに触発されたシンプルな構文、オペレーティングシステムに依存しないスレッド、エラーを処理するための例外処理機能、多数の演算子、純粋で完全なオブジェクト指向言語、およびクラスへのメソッドの追加のサポートが含まれます。 / p>
また、Rubyは単一の継承のみ、真のクロージャー、構文のブロック、真のマークアンドスイープガーベジコレクター、Cエクステンションの作成、整数、拡張ライブラリーの動的ロードのサポートを備えています。変数の宣言が必要です。
Rubyを使い始める
GNU / LinuxオペレーティングシステムにRubyプログラミング言語をインストールすることは、主要なソフトウェアリポジトリからすべての主要ディストリビューションでパッケージをダウンロードできるため、非常に簡単です。組み込みのSoftware Centerアプリを使用してインストールします。
代わりに、最新バージョンは、Softowareで無料配布されているソースパッケージを使用してインストールできます。それをダウンロードしてホームディレクトリに保存し、アーカイブを解凍して、端末エミュレータアプリケーション(例えば、cd /home/softoware/ruby-2.2.0)で抽出したアーカイブファイルの場所に移動します。
‘ ./configure’を実行します。コマンドを使用してプロジェクトを設定します(‘ ./configure-help’コマンドを使用すると、特定のハードウェアアーキテクチャでRubyを最適化するためのオプションを表示できます)。次に、‘ make’を実行します。それをコンパイルするコマンドと&sudo make install’コマンドを使用してインストールします。
GNU / Linux、Windows、Mac OS X、BeOS、OS / 2でサポート
Rubyは、Mac OS X、BeOS、OS / 2、Microsoft WindowsなどのUNIX系オペレーティングシステムだけでなく、すべてのGNU / Linuxディストリビューションで正常に使用できるクロスプラットフォームソフトウェアです。
このリリースの新機能:
Frozen String Literalプラグマが導入されました。 Ruby 2.1では、 "str" .freezeはオブジェクト割り当てを減らすように最適化されています。 Ruby 2.3には、ソースファイル内のすべての文字列リテラルをフリーズする新しいマジックコメントとコマンドラインオプションが追加されました。さらに、デバッグでは、"フリーズした文字列を変更できません"というオブジェクトの作成場所を取得できます。 --debug = frozen-string-literalコマンドラインオプションによるエラー。
C#、Groovy、Swiftに既に存在する安全なナビゲーション演算子(いわゆる孤独な演算子)&。は、objと.fooのように無関係な扱いを容易にするために導入されています。 Array#digとHash#digも追加されています。これはtryとして動作することに注意してください! Active Supportの、特にnilだけを扱う。
did_you_meanの宝石がバンドルされています。 did_you_mean宝石は、デバッグを容易にするためにNameErrorとNoMethodErrorの候補を表示します。
RubyVM :: InstructionSequence#to_binaryと.load_from_binaryは実験的な機能として導入されました。これらの機能により、ISeq(バイトコード)事前コンパイルシステムを作ることができます。
また、メソッド入力データ構造の再考、新しいテーブルデータ構造の導入、Proc#呼び出しの最適化、オブジェクト割り当てとメソッド呼び出しコードのためのマシンコードレベルチューニング、よりスマートなインスタンス変数データ構造、ソケットとI / Oは、「例外:」を使用することを許可する。高性能ノンブロッキングI / Oなどのためのキーワード。
バージョン2.5.0の新機能:
Frozen String Literalプラグマが導入されました。 Ruby 2.1では、 "str" .freezeはオブジェクト割り当てを減らすように最適化されています。 Ruby 2.3には、ソースファイル内のすべての文字列リテラルをフリーズする新しいマジックコメントとコマンドラインオプションが追加されました。さらに、デバッグでは、"フリーズした文字列を変更できません"というオブジェクトの作成場所を取得できます。 --debug = frozen-string-literalコマンドラインオプションによるエラー。
C#、Groovy、Swiftに既に存在する安全なナビゲーション演算子(いわゆる孤独な演算子)&。は、objと.fooのように無関係な扱いを容易にするために導入されています。 Array#digとHash#digも追加されています。これはtryとして動作することに注意してください! Active Supportの、特にnilだけを扱う。
did_you_meanの宝石がバンドルされています。 did_you_mean宝石は、デバッグを容易にするためにNameErrorとNoMethodErrorの候補を表示します。
RubyVM :: InstructionSequence#to_binaryと.load_from_binaryは実験的な機能として導入されました。これらの機能により、ISeq(バイトコード)事前コンパイルシステムを作ることができます。
また、メソッド入力データ構造の再考、新しいテーブルデータ構造の導入、Proc#呼び出しの最適化、オブジェクト割り当てとメソッド呼び出しコードのためのマシンコードレベルチューニング、よりスマートなインスタンス変数データ構造、ソケットとI / Oは、「例外:」を使用することを許可する。高性能ノンブロッキングI / Oなどのためのキーワード。
バージョン2.4.2の新機能:
Frozen String Literalプラグマが導入されました。 Ruby 2.1では、 "str" .freezeはオブジェクト割り当てを減らすように最適化されています。 Ruby 2.3には、ソースファイル内のすべての文字列リテラルをフリーズする新しいマジックコメントとコマンドラインオプションが追加されました。さらに、デバッグでは、"フリーズした文字列を変更できません"というオブジェクトの作成場所を取得できます。 --debug = frozen-string-literalコマンドラインオプションによるエラー。
C#、Groovy、Swiftに既に存在する安全なナビゲーション演算子(いわゆる孤独な演算子)&。は、objと.fooのように無関係な扱いを容易にするために導入されています。 Array#digとHash#digも追加されています。これはtryとして動作することに注意してください! Active Supportの、特にnilだけを扱う。
did_you_meanの宝石がバンドルされています。 did_you_mean宝石は、デバッグを容易にするためにNameErrorとNoMethodErrorの候補を表示します。
RubyVM :: InstructionSequence#to_binaryと.load_from_binaryは実験的な機能として導入されました。これらの機能により、ISeq(バイトコード)事前コンパイルシステムを作ることができます。
また、メソッド入力データ構造の再考、新しいテーブルデータ構造の導入、Proc#呼び出しの最適化、オブジェクト割り当てとメソッド呼び出しコードのためのマシンコードレベルチューニング、よりスマートなインスタンス変数データ構造、ソケットとI / Oは、「例外:」を使用することを許可する。高性能ノンブロッキングI / Oなどのためのキーワード。
バージョン2.4.1の新機能:
Frozen String Literalプラグマが導入されました。 Ruby 2.1では、 "str" .freezeはオブジェクト割り当てを減らすように最適化されています。 Ruby 2.3には、ソースファイル内のすべての文字列リテラルをフリーズする新しいマジックコメントとコマンドラインオプションが追加されました。さらに、デバッグでは、"フリーズした文字列を変更できません"というオブジェクトの作成場所を取得できます。 --debug = frozen-string-literalコマンドラインオプションによるエラー。
C#、Groovy、Swiftに既に存在する安全なナビゲーション演算子(いわゆる孤独な演算子)&。は、objと.fooのように無関係な扱いを容易にするために導入されています。 Array#digとHash#digも追加されています。これはtryとして動作することに注意してください! Active Supportの、特にnilだけを扱う。
did_you_meanの宝石がバンドルされています。 did_you_mean宝石は、デバッグを容易にするためにNameErrorとNoMethodErrorの候補を表示します。
RubyVM :: InstructionSequence#to_binaryと.load_from_binaryは実験的な機能として導入されました。これらの機能により、ISeq(バイトコード)事前コンパイルシステムを作ることができます。
また、メソッド入力データ構造の再考、新しいテーブルデータ構造の導入、Proc#呼び出しの最適化、オブジェクト割り当てとメソッド呼び出しコードのためのマシンコードレベルチューニング、よりスマートなインスタンス変数データ構造、ソケットとI / Oは、「例外:」を使用することを許可する。高性能ノンブロッキングI / Oなどのためのキーワード。
バージョン2.4.0の新機能:
Frozen String Literalプラグマが導入されました。 Ruby 2.1では、 "str" .freezeはオブジェクト割り当てを減らすように最適化されています。 Ruby 2.3には、ソースファイル内のすべての文字列リテラルをフリーズする新しいマジックコメントとコマンドラインオプションが追加されました。さらに、デバッグでは、"フリーズした文字列を変更できません"というオブジェクトの作成場所を取得できます。 --debug = frozen-string-literalコマンドラインオプションによるエラー。
C#、Groovy、Swiftに既に存在する安全なナビゲーション演算子(いわゆる孤独な演算子)&。は、objと.fooのように無関係な扱いを容易にするために導入されています。 Array#digとHash#digも追加されています。これはtryとして動作することに注意してください! Active Supportの、特にnilだけを扱う。
did_you_meanの宝石がバンドルされています。 did_you_mean宝石は、デバッグを容易にするためにNameErrorとNoMethodErrorの候補を表示します。
RubyVM :: InstructionSequence#to_binaryと.load_from_binaryは実験的な機能として導入されました。これらの機能により、ISeq(バイトコード)事前コンパイルシステムを作ることができます。
また、メソッド入力データ構造の再考、新しいテーブルデータ構造の導入、Proc#呼び出しの最適化、オブジェクト割り当てとメソッド呼び出しコードのためのマシンコードレベルチューニング、よりスマートなインスタンス変数データ構造、ソケットとI / Oは、「例外:」を使用することを許可する。高性能ノンブロッキングI / Oなどのためのキーワード。
バージョン2.3.3の新機能:
Frozen String Literalプラグマが導入されました。 Ruby 2.1では、 "str" .freezeはオブジェクト割り当てを減らすように最適化されています。 Ruby 2.3には、ソースファイル内のすべての文字列リテラルをフリーズする新しいマジックコメントとコマンドラインオプションが追加されました。さらに、デバッグでは、"フリーズした文字列を変更できません"というオブジェクトの作成場所を取得できます。 --debug = frozen-string-literalコマンドラインオプションによるエラー。
C#、Groovy、Swiftに既に存在する安全なナビゲーション演算子(いわゆる孤独な演算子)&。は、objと.fooのように無関係な扱いを容易にするために導入されています。 Array#digとHash#digも追加されています。これはtryとして動作することに注意してください! Active Supportの、特にnilだけを扱う。
did_you_meanの宝石がバンドルされています。 did_you_mean宝石は、デバッグを容易にするためにNameErrorとNoMethodErrorの候補を表示します。
RubyVM :: InstructionSequence#to_binaryと.load_from_binaryは実験的な機能として導入されました。これらの機能により、ISeq(バイトコード)事前コンパイルシステムを作ることができます。
また、メソッド入力データ構造の再考、新しいテーブルデータ構造の導入、Proc#呼び出しの最適化、オブジェクト割り当てとメソッド呼び出しコードのためのマシンコードレベルチューニング、よりスマートなインスタンス変数データ構造、ソケットとI / Oは、「例外:」を使用することを許可する。高性能ノンブロッキングI / Oなどのためのキーワード。
バージョン2.3.1の新機能:
Frozen String Literalプラグマが導入されました。 Ruby 2.1では、 "str" .freezeはオブジェクト割り当てを減らすように最適化されています。 Ruby 2.3には、ソースファイル内のすべての文字列リテラルをフリーズする新しいマジックコメントとコマンドラインオプションが追加されました。さらに、デバッグでは、"フリーズした文字列を変更できません"というオブジェクトの作成場所を取得できます。 --debug = frozen-string-literalコマンドラインオプションによるエラー。
C#、Groovy、Swiftに既に存在する安全なナビゲーション演算子(いわゆる孤独な演算子)&。は、objと.fooのように無関係な扱いを容易にするために導入されています。 Array#digとHash#digも追加されています。これはtryとして動作することに注意してください! Active Supportの、特にnilだけを扱う。
did_you_meanの宝石がバンドルされています。 did_you_mean宝石は、デバッグを容易にするためにNameErrorとNoMethodErrorの候補を表示します。
RubyVM :: InstructionSequence#to_binaryと.load_from_binaryは実験的な機能として導入されました。これらの機能により、ISeq(バイトコード)事前コンパイルシステムを作ることができます。
また、メソッド入力データ構造の再考、新しいテーブルデータ構造の導入、Proc#呼び出しの最適化、オブジェクト割り当てとメソッド呼び出しコードのためのマシンコードレベルチューニング、よりスマートなインスタンス変数データ構造、ソケットとI / Oは、「例外:」を使用することを許可する。高性能ノンブロッキングI / Oなどのためのキーワード。
バージョン2.3.0の新機能:
Frozen String Literalプラグマが導入されました。 Ruby 2.1では、 "str" .freezeはオブジェクト割り当てを減らすように最適化されています。 Ruby 2.3には、ソースファイル内のすべての文字列リテラルをフリーズする新しいマジックコメントとコマンドラインオプションが追加されました。さらに、デバッグでは、"フリーズした文字列を変更できません"というオブジェクトの作成場所を取得できます。 --debug = frozen-string-literalコマンドラインオプションによるエラー。
C#、Groovy、Swiftに既に存在する安全なナビゲーション演算子(いわゆる孤独な演算子)&。は、objと.fooのように無関係な扱いを容易にするために導入されています。 Array#digとHash#digも追加されています。これはtryとして動作することに注意してください! Active Supportの、特にnilだけを扱う。
did_you_meanの宝石がバンドルされています。 did_you_mean宝石は、デバッグを容易にするためにNameErrorとNoMethodErrorの候補を表示します。
RubyVM :: InstructionSequence#to_binaryと.load_from_binaryは実験的な機能として導入されました。これらの機能により、ISeq(バイトコード)事前コンパイルシステムを作ることができます。
また、メソッド入力データ構造の再考、新しいテーブルデータ構造の導入、Proc#呼び出しの最適化、オブジェクト割り当てとメソッド呼び出しコードのためのマシンコードレベルチューニング、よりスマートなインスタンス変数データ構造、ソケットとI / Oは、「例外:」を使用することを許可する。高性能ノンブロッキングI / Oなどのためのキーワード。
バージョン2.2.3の新機能:
このリリースには、RubyGemsドメイン名検証の脆弱性に関するセキュリティ修正が含まれています。 CVE-2015-3900 RubyGems 2.4.6以前のハイジャック脆弱性をリクエストする
バージョン2.2.2の新機能:
このリリースには、OpenSSL拡張機能のホスト名検証の脆弱性に対するセキュリティ修正が含まれています。
バージョン2.2.0の新機能:
VM(メソッドキャッシュ)
RGenGC(ko1のRubyKaigiプレゼンテーションとRubyConf 2013プレゼンテーションを参照)
洗練#8481#8571
構文の変更:
小数点/複合リテラル#8430
defの戻り値#3753
Bignum:
GMP#8796を使用する
ストリング#スクラブ#8414
Socket.getifaddrs#8368
RDoc 4.1.0およびRubyGems 2.2.0
"リテラル" .freezeが最適化されました#9042
例外を追加する#原因#8257
BigDecimal、JSON、NKF、Rake、RubyGems、RDocなどのライブラリを更新する
cursesを削除する#8584
バージョン2.0.0-p0の新機能:
言語のコア機能:
APIの設計に柔軟性を与えるキーワード引数
Module#prependは、クラスを拡張する新しい方法です
リテラル%iは、シンボルの配列を簡単に作成します。
現在実行中のファイルのdirnameを返す__dir__
多くの魔法のコメントを省略できるUTF-8のデフォルトのエンコーディング
組み込みのライブラリ:
Enumerable#lazyとEnumerator :: Lazy、(おそらく無限の)遅延ストリーム
列挙子#サイズと範囲#サイズ、遅延評価用
#to_h:ハッシュに変換するための新しい規約です
新しい正規表現エンジンOnigmo(Onigurumaのフォーク)
非同期例外処理API
デバッグサポート:
本番環境でのランタイム診断を可能にするDTraceサポート
改良されたトレースAPIであるTracePoint
パフォーマンスの向上:
ビットマップ・マーキングによるGC最適化
カーネル#は、Railsの起動を非常に高速にする最適化が必要です
メソッドディスパッチなどのVM最適化
浮動小数点演算の最適化
バージョン1.9.3-p392の新機能:
このリリースには、バンドルされたJSONとREXMLに関するセキュリティ修正が含まれています。
JSON(CVE-2013-0269)のサービス拒否と安全でないオブジェクト作成の脆弱性
REXMLにおけるエンティティ拡張DoS脆弱性(XML爆弾)
また、いくつかの小さなバグ修正も含まれています。
バージョン1.9.3-p385の新機能:
このリリースには、バンドルされたRDocに関するセキュリティ修正が含まれています。
バージョン1.9.3-p384の新機能:
このリリースには、バンドルされたRDocに関するセキュリティ修正が含まれています。
$ 1.9.3-p286の新機能:
$ SAFEによるException#to_s / NameError#to_sに関する脆弱性の回避策(CVE-2012-4464、CVE-2012-4466)
不正なNUL文字を挿入することによって意図しないファイルが作成される
他の多くのバグ修正。
コメントが見つかりません