Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21089

Rubyの文法 memo初心者【rails学習①】v-2

$
0
0

目的と内容

学習内容の整理と後日の参照用。他者へのポートフォリオ用。

今回はRuby文法のまとめ。

基本

コメント

1行の場合
#シャープ以下はコメントになる

下記でも、コメントアウトにはなるが、こちらはソースコードにドキュメントを埋め込むための記述
=begin
beginとend間のドキュメントが埋め込まれる
=end

メソッド

puts
画面に出力するためのメソッド、文末で改行される

print
画面に出力するためのメソッド、文末で改行されない

Random#rand()
引数を渡さない(もしくは引数が0)の場合、0以上1未満の浮動小数点数をランダムに生成するメソッド
rand(1..10)など、括弧内で生成する値の範囲を決められる

分岐

if.rb
if条件式処理elsif条件式処理else処理end

繰り返し

for.rb
forカウンタ変数in 繰り返し範囲(配列でもOK処理end
while.rb
while条件式処理カウンタ変数を更新end

型の変更

  • to_i 整数へ
  • to_f 浮動小数点数へ
  • to_s 文字列へ
  • to_a 配列へ
  • to_h ハッシュへ

標準入力

gets.rb
example=gets

他、chomp(末尾の改行を取り除くメソッド)と併用することが多そう。

配列 

array.rb
exarray=[,,,]#代入exarray.push()#末尾に値を追加exarray.detete(0)#0番目を削除

各要素をループで取り出したい場合

each.rb
exarray.eachdo|変数名|処理endexarray.eachdo|変数名、変数名2|#インデックス番号も一緒に取得したい場合処理end

メソッド

Array#map()
配列の各要素に同じ処理を加えたい場合

String#split()
指定の記号で分割し、配列として戻す

Array#sort
要素が<=>で比較可能であれば並び替える

Array#reverse
配列を現在と逆の順序に並び替える

ハッシュ

hash.rb
exhash={=>,=>,=>}

キーにシンボルを使った場合、下記のようにも記述できる。

hash.rb
exhash={:=>,:=>,:=>}#またはexhash={:,:,:}

各要素をループで取り出したい場合

hash.rb
exhash.each_valuesdo|変数名|処理endexhash.eachdo|変数名,変数名2| #キーも一緒に取り出したい場合処理end

メソッド

method.rb
defexmethod()処理end

メソッド内で定義された変数は独立している。
外から同じ名前の変数を使いたい場合は、\$exampleのように\$マークを先頭につけたグローバル変数をつかう必要があるが、これはあまり使われない。

クラス

基本

class.rb
classExclass@@exclass#クラス変数(よくわかっていないattr_accessor:examdefinitialize(exam)#初期化メソッド(必ず実行される@exam=exam#インスタンス変数(よくわかっていないendend

クラス名の最初の一文字は必ず大文字にする。
attr_accessor : ◯◯はインスタンス変数を外から変更できるようにするためのコード。(よくわかっていない)

継承

親クラスのメソッド、変数を子クラスでもつかえる。

オーバーライド

親クラスが持つメソッドを、子クラスで再定義して上書きできる。

private

頭にprivateを付け加えられたメソッドはクラス内からしか呼び出せない。

superメソッド

親クラスの持つメソッドを呼び出す。

その他

ライブラリの読み込み

require 'ライブラリ名'

モジュール

modu.rb
moduleモジュール名defメソッド名()endmodule_function:メソッド名end

モジュールはオブジェクトを作らず、メソッドをそのまま実行することができる。
その場合、『module_function :メソッド名』という記述が必要。
下記、Mix-inを使う場合、『module_function :メソッド名』の記述はつけてはいけない。(よくわかっていない部分

Mix-in

mixin.rb
classクラス名includeモジュール名end

例外処理

reigai.rb
beginエラーが発生する可能性のある場所rescueエラーが発生した場合elseエラーが発生しない場合ensureエラーの有無に関わらず行う処理end

その他

・コマンド
ファイル名やフォルダ名にスペースが入ってる場合、コマンドでは””を含めて記述
ex) cd "new project"

コマンドラインから現在いる場所をFinderで開きたい場合(Mac)
open .


Viewing all articles
Browse latest Browse all 21089

Trending Articles