6

[ruby]6/18に学んだこと

Tag: Webプログラミングuechoco @ 20 : 43 : 33
  • メソッド
    • すべてのメソッドは何らかのオブジェクトによって実行される。
    • 演算子もメソッド(.+、.-、.*、./)
    • putsはプログラム全体を囲うmainオブジェクトによって実行される。
  • 文字列メソッド
    • .reverseは文字列を逆順にしたものを返す。非破壊。
    • .lengthは文字列のキャラクタ数を整数で返す。
    • .upcaseは文字列内の英字を大文字にする。非破壊。
    • .downcaseは文字列内の英字を小文字にする。非破壊。
    • .swapcaseは文字列内の英字の大文字・小文字を逆転するにする。非破壊。
    • .capitalizeは文字列の先頭のキャラクタを大文字にする。非破壊。
    • .center(w)は幅w内で文字列を中央寄せする。非破壊。
    • .ljust(w)は幅w内で文字列を左寄せする。非破壊。
    • .rjust(w)は幅w内で文字列を右寄せする。非破壊。
    • .split(s)は文字列をsで分割した配列を返す。
  • 数学
    • **はべき乗演算メソッド。5**2→25、5**0.5→2.23620679…
    • %は剰余演算メソッド。7%3→1、1.2%0.5→0.2
    • 1.absは数の絶対を返す。-1.abs→1、-1.55.abs→1.55
    • randは0.0以上、1.0未満の浮動小数点の乱数を返す。
    • rand(w)は0以上、w未満の整数の乱数を返す。
    • Math::PIは円周率を表す浮動小数点の定数。
    • Math::Eは自然対数の底を表す浮動小数点の定数。
    • Math.cos(t)はtラジアンのコサインを返す。
    • Math.sin(t)はtラジアンのサインを返す。
    • Math.tan(t)はtラジアンのタンジェントを返す。
    • Math.log(n)は底がeのときの数値nのログを返す。
    • Math.sqrt(n)は数値nの平方根を返す。
    • ::はスコープ解決演算子
  • 比較メソッド
    • <、>、<=、>=、==、!=、などは比較メソッド。
    • true、またはfalseの特別なオブジェクトを返す。
    • 数値の比較は数学の通り。
    • 文字列の比較は、先頭のキャラクタからASCIIコードの大小で比較する。
  • 分岐
    • if….endパターン
      • if 条件
      • # trueの時の処理
      • end
    • if…else…endパターン
      • if 条件
      • # trueの時の処理
      • else
      • # falseの時の処理
      • end
    • if…elsif…endパターン
      • if 条件1
      • # 条件1がtrueの時の処理
      • elsif 条件2
      • # 条件2がtrueの時の処理
      • end
  • ループ
    • while 継続条件
    • # 繰り返す処理
    • end
  • 配列
    • 配列は[]でくくったオブジェクトのリスト
    • 配列の例
      • []
      • [111]
      • ['a', true]
      • [[true, false], f, 111.111] # fは変数。変数の中身が入ったと考えるべきか。
    • 要素を1つ以上保持している配列をputsすると、各要素が改行で区切られて表示される。
    • 配列の添え字はゼロベース
    • 配列の要素が未定義の場合は、その要素はnilオブジェクトになる。
    • [].eachメソッドはイテレータである。
      • fruits = ['apple', 'バナナ', 'orange]
      • fruits.each do |f|
      • puts f
      • end
    • [].to_sは配列を改行区切りで文字列として返す。非破壊。
    • [].join(s)は配列を文字列s区切りの文字列として返す。非破壊。
    • [].lengthは配列の要素数を整数で返す。
    • [].lastは配列の最後の要素を返す。非破壊。
    • [].popは配列の最後の要素を取り除く。破壊的。
    • [].pushは配列の最後に要素を付加する。破壊的。
  • .timesイテレータ
    • 1.timesは0からその数字-1までのイテレータ
      • 3.times do |c|
      • puts c # 0, 1, 2が表示される
      • end
  • 独自メソッドの定義(define)
    • 独自メソッドはdefendで定義できる
      • def メソッド名
      • # メソッドの中身の処理
      • end
    • 引数はメソッド名の後に続ける
      • def メソッド名 引数1
      • # メソッドの中身の処理
      • end
    • メソッドの中の変数はすべて局所変数として扱われる。
    • 返り値は、最後に評価式またはreturnに続く式が採用される。
  • ファイル
    • 書き込み
      • File.open filename, ‘w’ do |f|
      • f.write str
      • end
    • 読み込み
      • str = File.read filename
  • YAML
    • require ‘yaml’でYAMLライブラリをインポート
    • [].to_yamlで配列をYAML文字列化
    • YAML::load 文字列でYAML文字列を配列化
  • Dirオブジェクト
    • Dir[ファイル名]でファイル名の配列を返す
    • ex) Dir['aaa.jpg']
    • ex) Dir['*.{PNG,png}']
    • ex) Dir['../*.{JPG,jpg}']

今のことろは感動しないなぁ。勉強する本を間違えたかな(汗

Leave a Reply