Ruby

初心者による初心者のためのRuby記事まとめ

オブジェクト指向設計という考え方が難しかったので、自分の言葉でまとめてみた。 masuyama13.hatenablog.com

何をインスタンス変数にするべきか(Ruby)

インスタンス変数とは 変数のスコープ ローカル変数 インスタンス変数 何をインスタンス変数にするべきか 属性とは こちらの記事の補足。 masuyama13.hatenablog.com インスタンス変数とは インスタンス変数は、その名の通りインスタンス(オブジェクト)が…

クラスメソッドとインスタンスメソッドの使い分け(Ruby)

クラスメソッドとインスタンスメソッドの使い分け、初心者は絶対悩むところ。 いろんな本や記事を読みあさってようやく理解できてきたので書いておく。 基本はインスタンスメソッドを使う 特異メソッドとは クラスメソッドは特異メソッドの一種 クラスメソッ…

Ruby初心者がイメージで捉える「クラス」

自分でクラスを作ろうとしたときに、クラスとは何なのかよくわからなくなったので、改めて考えてみた。 クラスとは何か? クラスとは「製造機」 例で考える Classクラスとは何か? クラスとは何か? クラスについて調べると、「クラスとはインスタンスの種類…

オブジェクト・インスタンスの違いとレシーバ

昨日の記事で、この文脈ではモノのことを、オブジェクト、インスタンス、レシーバと呼ぶことがあるが、すべて同じ意味である。と書いた。最近やっと理解できてきたので、まとめておく。 オブジェクト オブジェクトとは、モノのことである。Rubyでは、全てが…

初心者が考えるオブジェクト指向設計のポイント(Ruby)

Rubyでコードを書く上で、オブジェクト指向設計というのがとても大事らしい。 オブジェクトとは「モノ」のこと。Rubyでは、全てがオブジェクトである。 最初聞いたときは「???」だったが、何回も戻りながら勉強を続けてきてほんの少しだけわかってきたの…

Ruby 1行が長くなりすぎるときの対応策

Ruby Style Guide (日本語訳)によると、コードは1行80字まで。 メソッド名が長かったりするとどうしてもコードの横幅というか1行が長くなることがある。Rubyは改行を区切りとみなすため、処理の途中で改行するときは注意が必要。 1行を短くする方法 式で長く…

VSCode最低限の設定・ショートカットキー

qiita.com 先日も紹介した上の記事、テキストエディタの設定についてVSCodeで見ていきます。 Ruby初心者向け テキストエディタ チェックリスト シンタックスハイライトを設定する 複数行の一括コメントアウト、コメント解除 矩形選択・矩形編集 タブキーによ…

VSCodeでRubyを書くとき便利な拡張機能

Progateやpaizaなどはブラウザ上でプログラムを書いて動かすことができて便利ですが、勉強を進めていくと自分のコンピュータでプログラムを書いて動かすことになると思います。 初心者が考える初心者のエディタの選び方 プログラムを書くことができるテキス…

コマンドからRubyを動かす(Mac)

Progateやpaiza、AtCoderなどで基本的なコードの書き方は分かったけど、実際Rubyはどうやって動かすの?ということで、そこら辺を簡単に説明していきます。 開発にはMacがいいらしい プログラマといえばMacというイメージがあります。ただのかっこつけかと思…

Ruby paizaレベルアップ問題集(sort)

paizaラーニング(初心者〜中級者向けのプログラミング学習サービス)のプログラミングスキルチェックというのをときどきやっています。Dランク(超初級)からSランク(超上級)まであり現在Cランク。 Bランク目指して、今日もレベルアップ問題集から2問やっ…

Ruby paizaレベルアップ問題集(Dランク2問)

paizaラーニング(初心者〜中級者向けのプログラミング学習サービス)のプログラミングスキルチェックというのをよくやっています。Dランク(超初級)からSランク(超上級)まであり、現在Cランクなので、まずはBランクを目指しています! スキルチェックの…

RubyでFizzBuzz(いろいろな書き方)

FizzBuzz問題という有名なプログラムを書いてみたいと思います。いろいろな書き方があり全ては紹介できませんが、いくつかやってみます。 FizzBuzz 1から100までの数字を順番に出力するプログラムです。ただし、3の倍数のときは数字の代わりに「Fizz」、5の…

Ruby 知って得する多重代入とmapメソッド

多重代入 多重代入とは、複数の値を同時に代入することです。 a, b = 1, 2 puts a #=> 1 puts b #=> 2 多重代入は配列にも使える 特に便利なのが、配列の要素を一度に代入できるところです。 a, b, c = [1, 2, 3] puts a #=> 1 puts b #=> 2 puts c #=> 3 た…

Ruby splitメソッドは引数なしのとき改行削除する

このブログで何度も登場しているsplitメソッドについて、発見があったので紹介します。 splitは、文字列を区切り文字で分割して配列に入れるメソッドですが、先頭と末尾の空白文字(改行文字など)を削除してくれるらしいのです! splitの使用例 まずは、spl…

Ruby paizaの標準入力値取得・出力サンプルコード

最低限の標準入力値取得ができるようになったので、paizaプログラミングスキルチェックの値取得・サンプルコードで、実際に標準入力値の取得と出力ができるか試してみました。 paiza.jp paizaサンプルコード 入力される値 2 2 5 3 4 このテストケースでは、…

Ruby 配列と式展開

配列 配列は、[1, 2, 3]、["apple", "banana", "orange"]のような形式のオブジェクトです。 番号を指定して要素を取得することができます。 番号が1ではなく0から始まることに注意が必要です。 fruits = ["apple", "banana", "orange"] puts fruits[0] #=> a…

Ruby 複数の標準入力値の取得

競技プログラミングなどでは、プログラムで使う値が「標準入力」で渡されます。 その値の取得方法について。今回は、取得したい値が複数ある場合です。 標準入力値が複数あるとき (例題)s1, s2, s3の値が標準入力で渡される。 「私は、s1とs2とs3が好きで…

Ruby 標準入力値の取得(数値)

競技プログラミングなどでは、プログラムで使う値が「標準入力」で渡されます。その値の取得方法についてまとめていきます。 今回は、取得した値を数値として使用したい場合です。 数値を受け取る 標準入力で渡される値12を使って、以下のようなプログラムを…

Ruby 標準入力値の取得(文字列)

paizaラーニング(初心者〜中級者向けのプログラミング学習サービス)のプログラミングスキルチェックというのが楽しいのでよくやっています。 会員登録をすると無料で挑戦できる競技プログラミングのようなものですが、問題や解答をブログやSNSで公開するこ…