ルクアのスターバックスにて高校の友だちと作業回。
自分はRuby学習
自分も友人も予定が空いていたため、昼過ぎから集まったが、スタバは長居には適さんとつくづく実感した。短期集中に限る。
requiere メソッド
外部ファイルを読み出すのだが、たのしいRuby第6版にかかれている例文通りに
requiere"ファイル名"
とするとエラー
なんでやと思ったら相対パスで読み込むため同じディレクトリに入っているフォルダでも(./)で一度カレントディレクトリに戻るようにしなければならない。
参考:https://www.sejuku.net/blog/16111
「たのしいRuby第6版」しっかりしてくれよ(T_T)
同じディレクトリに読み込みたいファイルが入っている場合、正しくは
requiere"./ファイル名"
eachメソッド
配列Aを定義した後
A.each do |x|
puts x
end
とすると配列Aの中身を順番にxに代入し、順番に実行することができる。
この場合は順に出力する。
C++のときはfor文で配列の中身を順番に実行していたので Rubyではこのメソッドが存在するおかげで配列の中身の実行がかなり楽になると感じた。
条件分岐
if文はC++と同じ感じ
case文
case 比較対象のオブジェクト
when 値1 then
文1
when 値2 then
文2
・・・
end
で比較対象のオブジェクトと値を比較して一致する場合文を実行する。
値は複数指定することも可能
繰り返し
C++より繰り返しの方法が多い印象
times メソッド
繰り返したい回数.times do
処理
end
で指定した回数処理を繰り返す。
C++の場合
for(i=0;i>=5;i++){
処理
}
みたいな感じで回数を指定しなければならないので一発で繰り返し回数を指定できるのは便利。
for文
C++とfor文の概念がちょいと違うので面倒
for 変数 in 開始時の値..終了時の値
処理
end
x=[p,q,r]
for y in x
処理
end
でeachメソッドのように使うことも可能
C++が継続条件を指定するのに対し、Rubyでは開始時と終了時の値を指定する
while文の概念はC++に似ている
loopメソッド
回数制限がなくなんらかの制御をしない限りその名の通り無限ループする
loop do
処理
end
繰り返し制御
- break:繰り返しから抜ける
- next:次の処理にスキップ
- redo:処理をやり直す
以上の命令をif文等と組み合わせて制御する
メソッド定義
def メソッド名(引数)
処理
end
で定義
メソッド名(引数)
で呼び出し
コメント