ローイングファンのプログラミング日記

ボート競技やプログラミングについて書きます

Ruby

後置if

今回は後置ifを使ってコードの行数を減らしてみる。 目次 一般的なif文 後置if 後置ifを使ったコード 今回の動作確認環境 一般的なif文 一般的なif文の書式。 if 条件 処理 end 後置if 後置ifの書式。 処理 if 条件 後置ifを使ったコード コードを書く。 tes…

例外処理 rescue

目次 例外処理 rescue節 今回の動作確認環境 例外処理 例外とはコード内のエラー。 例外処理がないコードで例外が発生するとそこから先には進めない。 例外が発生したときの対処をほどこすのが例外処理。 リファレンスマニュアルは次のとおり。 Rubyリファレ…

open-uriライブラリ

今回はWebページからHTMLコードを取得する方法を考える。 目次 open-uriライブラリ open-uriライブラリのopenメソッド 今回の動作確認環境 open-uriライブラリ open-uriライブラリを使うと簡単にWebページを開くことができる。 リファレンスマニュアルは次の…

自己代入でカウンターをつくる

今回はカウンターと剰余を使って配列を組み直してみる。 目次 カウンターで繰り返しの回数を数える 剰余をもとめる演算子 % 配列の要素を指定の数ずつ配列に格納し直す 今回の動作確認環境 カウンターで繰り返しの回数を数える eachメソッドは配列から要素を…

行と列を入れかえる zip

今回は行と列を入れかえるメソッドzipを試す。 目次 配列オブジェクトのzipメソッド zipを使ったコード 今回の動作確認環境 配列オブジェクトのzipメソッド zipメソッドは配列オブジェクトのインスタンスメソッド。 基準とする配列に引数の配列を取り込んで…

正規表現 キャプチャ

今回は正規表現のキャプチャを試す。 目次 正規表現でマッチした文字列を後から参照する 特殊変数とキャプチャ HTMLソースコードの概略 キャプチャを使ったコード キャプチャにタグをつける scanメソッド ヒアドキュメント 今回の動作確認環境 正規表現でマ…

ブラウザの機能を使ってHTMLソースコードを表示する方法

今回はブラウザの機能を使ってHTMLソースコードを入手する。 注意 HTMLソースコードは著作物です。HTMLソースコードを利用する際は著作権法に則る必要があります。 目次 HTMLとは WebページのHTMLソースコードを見る方法 Google Chromeの機能を使って見る方…

getsメソッドを利用して案内表示をだす

今回はgetsメソッドを試す。 目次 getsメソッド getsを使ってコードを書く getsを案内に利用する 今回の動作確認環境 getsメソッド getsはIOクラスのインスタンスメソッド。 定数ARGVはコマンドと同時に入力した値を受け取る。 それに対してgetsメソッドはコ…

ローイングファン お試し版

このブログではWebアプリ「ローイングファン」の仕組みを紹介している。 今回は今までの記事に書いてきたコードを使ってローイングファンお試し版をつくる。 Webアプリ ローイングファンのURL https://rowingfan.herokuapp.com/ ボートレース(レガッタ)情報…

定数 ARGV、 配列の配列から要素を取りだす

今回はターミナル/PowerShellからデータを入力する方法と配列の配列からオブジェクトを取りだす方法を試す。 目次 定数ARGV 配列の配列から要素を取りだす 定数ARGV RubyにはARGVという定数がある。 Rubyリファレンスマニュアルは次のとおり。 Rubyリファレ…

eachメソッドを入れ子で使う

今回は3層構造の配列を扱う。 目次 3層構造の配列からif文を使って目当ての情報を検索する コードの解説 コード概略 正規表現 [ ] 今回の動作確認環境 3層構造の配列からif文を使って目当ての情報を検索する 3層構造の配列からif文を使って目当ての情報を検…

配列に使えるメソッド その2

今回は配列に使えるメソッド その2。 その1はこちら。 目次 メソッドを探す 配列クラスのvalues_atメソッド 配列クラスの << メソッド 配列クラスの特異メソッド new 配列の入れ子構造をつくる 今回の動作確認環境 メソッドを探す 配列クラスのメソッドを探…

エクセルファイルの文字エンコーディング

前回つくったCSVファイルの文字エンコーディングはUTF-8になっている。 UTF-8のファイルはエクセルでつかえない(つかいづらい)。 今回はエクセルの文字エンコーディングとRubyの文字エンコーディングについて考える。 目次 エクセルの文字エンコーディング R…

CSVライブラリ

今回は前回つくったCSVファイルを出力する。 目次 Rubyのライブラリを利用する CSVライブラリ ライブラリを読み込む CSVクラス foreachメソッド 条件判断の判定基準 正規表現を使った条件判断 WebページのコピーをCSVファイルに成型してターミナル/PowerShel…

ファイルを書きかえる gsub!

前回のつづき。 今回はコピーしたデータをCSVファイルに書きかえる。 目次 gsub!メソッドを使って文字列を書きかえる コードの説明 正規表現の解説 リファレンスマニュアル /^\d\t$/ /\n\(/ /^/、/^,1/ /\t/ /\n,発艇時刻:\s/ /組別:\s/ /,Race\sNo:\s/ /^,…

ファイルを扱う open gsub

ファイルのデータを利用する。 目標とする工程は次のとおり。 Webページから情報をコピーする 情報をCSVファイルに書きかえる CSVファイルを指定の書式で出力する 目次 CSVファイル データを入手する ファイルを開く gsub!メソッドをつかって文字列を書きか…

条件判断 if文

今回は条件判断 ifを試す。 目次 if文 else節 eachメソッドとif文を組み合わせる 今回の動作確認環境 if文 ifについてのリファレンスマニュアルは次のとおり。 Rubyリファレンスマニュアル 制御構造 if https://docs.ruby-lang.org/ja/latest/doc/spec=2fcon…

配列に使えるメソッド

配列に使えるメソッドを試してみる。 目次 インスタンスメソッド メソッドの調べ方 size、insert eachメソッド eachメソッドで取りだしたオブジェクトをターミナル/PowerShellに出力する 今回の動作確認環境 インスタンスメソッド これまでに試したputsメソ…

配列を使って情報をまとめる

前回はオブジェクトを1つずつ変数に代入した。 今回はオブジェクトをまとめて扱うときに便利な配列(Array)を試す。 目次 Rubyリファレンスマニュアル Arrayクラス 配列をつくる 配列のコードを書く 配列のインデックス 配列から要素を取りだしてターミナル/P…

変数、式展開、コメント

今回は変数と式展開を試す。 目次 変数(Variable) リファレンスマニュアル 変数の書式 変数を使ったコード to_sメソッド 式展開 コメント #記号 =begin、=end コメントを入れたコード 変数、式展開、コメントを使ったコード 変数名のつけ方 今回の動作確認…

データをターミナル/PowerShellに表示させる puts print

putsは引数に改行をつけて標準出力に出力するメソッド。 「標準出力に出力」を今回は「ターミナル/PowerShellに表示」という意味で使う。 目次 この記事の内容について putsメソッドについて 文字列を表示させる 準備 コードを書く コードを実行する 数値を…

Rubyをインストールする macOS 10編

macOS 10にRubyをインストールする方法を紹介します。 今回は、既に入っていたHomebrewとrbenvを一旦アンインストールして再インストールしました。 環境によって記事のとおりにいかない場合もあると思います。 インストールがうまくいかないときはエラー表…

Rubyをインストールする Windows10編

RubyをWindows10にインストールします。Macへのインストールは別記事に書きます。 今回の記事は、Ruby2.3、Ruby2.4.1が入っていたパソコンに新たにRuby2.4.3をインストールしたときの手順です。 目次 RubyInstallerをつかってインストールする RubyとRubyIns…