讃岐小僧のEngineering×Techメモ

未経験から挑戦中のプログラミングや、趣味の野球や狩猟について、その他、ビジネスやテクノロジーをテーマに様々なことをつぶやく場所です。

Ruby

【Ruby Silver 試験】hash.clear, Array.product, Array.transcope, Enum.partition

Hash.clear 【Rubyリファレンス】:Hash.clear clearメソッドは、ハッシュのキーと値をすべて削除してハッシュを空にする。 h = {a: 100, b: 200} h.clear p h Array.product, Array.transpose これを実行したらどうなるか。 arr = [1,2].product([3,4]).tra…

【Ruby Silver 試験】equal?, str.index, array.product(array),

equal? 【Rubyリファレンス】:equal? (Object) equal?メソッドは、レシーバと引数が同じオブジェクトならtrue、別のオブジェクトならfalseを返す 文字列を==で比較した場合は文字列の内容が同じであればtrueを返す a1 = "abc" a2 = 'abc' puts a1.equal? a2…

【Ruby Silver 試験】concat, invert, 日付型

str.concat(string) 【Rubyリファレンス】:concat (String) concatメソッドは、<<の別名 文字列の末尾に別の文字列を加えて利用する。 整数integerで文字のコードを指定すると、文字列の末尾に1文字追加する まずは自分なりに使ってみる。 strings = ["a", …

【Ruby Silver 試験】any?, self.method_name, [*1..100]とか

今回の問題 次のプログラムを実行するとどうなりますか $val = 0 class Count def self.up $val = $val + 1 $val == 3 ? true : false end end [*1..10].any? do Count.up end p $val 選択肢 10が表示される 選択肢 1が表示される 選択肢 0が表示される 選択…

【Ruby Silver 試験】Ruby Silverの内容をメモしていく

はじめに 4月に「Ruby Silver取る!」って意気込んでいたのに、、結局他の事をしてると4月中どころか7月も終わろうとしております。 有言実行できずめちゃめちゃかっこ悪いですが、それでも粘り強く勉強していかないと話にならないので言い訳せずにとれる…

【Ruby】Suumoの情報をRubyでスクレイプしたのでメモ

はじめに 久しぶりにRubyでスクレイプしたので書いた内容をメモしておきます。 まだまだ修行中のため、もっとこうしたらいいなど、コメントありましたらぜひ、アドバイスいただけると嬉しいです! 内容 特定のSuumoのサイトを指定して、物件名と価格取得する…

【Ruby】WindowsにRuby環境を構築する場合MSYS2とかいうの必要なのね、、

はじめに 会社パソコンにてRuby環境を構築することになったのですがよく確認しないでRubyインストールしてたので本来必要なMSYS2というツールを無視していたためRubyが動いてくれなかったので後からMSYS2をダウンロードしてみたところちゃんと動いてくれたと…

【Ruby】メソッドについて詳しく~part2~

はじめに 今回は前回の続きで引き続きメソッドについてまとめていきたいと思います。 前回の記事を下記に貼っておきますので興味がある方はみて下さい。 www.sanuki-kozo.com それではまとめていきます。 ?で終わるメソッド ?で終わるメソッドは真偽値を返…

【Ruby】メソッドについて詳しく~part1~

はじめに メソッドの命名やメソッド内での戻り値、特にreturn構文の利用の際に気をつけることは下記の記事にて紹介しているので興味がある方はご覧ください。 www.sanuki-kozo.com 今回は、前回より少し詳しめにメソッドについて書いていこうと思います。 引…

【Ruby】条件演算子(三項演算子)

三項演算子の基本文法 基本的な文法は下記の通りです。 式?真の場合の処理:儀の場合の処理 では普通のif文と比較してみる。 まずは普通のif文においてnameが清原だったら「清原です」、そうでなければ「清原ではありません」と返すコードを書いてみる。 ir…

【Ruby】論理演算子の優先順位について

論理演算子と記号論理演算子の優先順位 論理演算子と記号論理演算子の優先順位は下記通りです。 ! >> && >> || >> not >> and・or ※andとorの優先順位には違いはありません。 利用例 a = true b = false not b || a この時に返される値 false ん?ってなりま…

【Ruby】式評価と戻り値のタイミングについて

Rubyにおける式評価と戻り値が決定するタイミング Rubyにおける真偽値については下記の記事をお読みください。 www.sanuki-kozo.com Ruby式評価の順番 式全体が真または偽であることを確認するまで左辺から順に式を評価する 左から順に評価し、nilまたはfals…

【Ruby】フォーマットを指定した文字列の作成

sprintfを利用して指定のフォーマットに変換する sprintfに関してはこちら docs.ruby-lang.org 例えば、数字で小数点第2位まで表示させたい時sprintfを利用してこのように書きます。 puts sprintf('%0.2f', 1) => 1.00 1.00と表示された。 'sprintf'を利用…

【Ruby】文字列の取り扱い、%記法およびヒアドキュメントの使用方法

%記法を使う 文字列をputsで出力したい時は、シングルクォートかダブルクォートで囲うのが普通だが、%記法でも文字列を作ることができる。 それでは早速使ってみる。 出力する文字列 今回は、"Don't move!"と出力する。 意外に初級者が知らないバックスラ…

【Ruby】Fizz_Buzzを書いてみる

Fizz_Buzzの仕様 3で割り切れる数値を引数に渡すと”Fizz”を返す 5で割り切れる数値を引数に渡すと”Buzz”を返す 15で割り切れ数値を引数に渡すと"Fizz_Buzz"を返す それ以外の数値はその数値を文字列に変えて返す なんですが、、、 面白くないので変えます。 …

【Ruby】Rubyメソッド定義

命名には気をつけよう Rubyだけではないかもしれませんが、メソッド名はスネークケースで定義しましょう。 スネークケースって何ですか?という方は下記リンクを参照する一発でわかると思います。 「分かりそう」で「分からない」でも「分かった」気になれる…

【Ruby】Rubyにおけるif文の利用方法

if文が戻り値を返す Rubyのif文は最後に評価された式を返します。 この性質を利用して変数にifで最後に評価された値を格納できたりします。 早速確認してみます。 n = 11 number = if n > 10 '10より大きい' else '10以下' end puts "#{number}" n = 11なの…

【Ruby】Rubyにおける真偽値

Rubyの真偽の捉え方 falseとnil = 偽 falseとnil以外 = 真 下記サイトを参考にしたが他言語に比べて(特にPHPとか)Rubyがとてもシンプルなのかわかる。 blog.mirakui.com またRubyでは他の言語とは違った特徴があるようだ。 Ruby の面白いのは、Boolean と…

【Ruby】数字取り扱い時の注意点 | 暗黙変換しない

はじめに 今回の記事は前回の記事の続きとなります。 www.sanuki-kozo.com それでは引き続き、数字取り扱い時の注意点を見ていきます。 Rubyでは暗黙変換はありません 小僧が他の言語に詳しいわけではありませんが、例えばSQLとかで数字っぽい文字データを指…

【Ruby】数字取り扱い時の注意点

整数同士の割り算 Rubyで整数同士を割り算する場合、例えば1÷2とか。 普通であれば1 ÷ 2 = 0.5になると考えるが、Rubyの場合は小数点が切り捨てられるため0になる。 では実行してみる。 irb irb(main):001:0> 1/2 => 0 下記通りの切り捨てられるため0となっ…

【Ruby】Rangeオブジェクトの使い方もろもろ

はじめに 今回も前回に引き続いてRangeオブジェクトについてインプットした内容をアウトプットしていきます。 Rangeオブジェクトから配列が作れる range = 1 ..5 new_range = range.to_a p new_range [1, 2, 3, 4, 5] 配列から特定の範囲を取得できる 添字に…

【Ruby】Rangeオブジェクト..と...の違い

はじめに 来年春(4月)までにRuby Goldをとる! Rubyに対していつまでも、「勉強してます〜」というのもダサいと思いはじめたので、まずは資格取得、次にサービスリリース等ができればと思います。 資格取得に向けて、また積み本となっているプロを目指すた…

【Ruby】each_with_indexメソッドについて

Rubyのeach_with_indexメソッドについて 初歩的かもしれませんがRubyのeach_with_indexメソッドについてまとめます。 each_with_indexとは? each_with_indexとは配列に対して利用できるメソッドです。 配列に対して、番号を振りたい時などに利用します。 具…

【Ruby】returnの使い方

この記事の目的 return構文の使い方がよくわからないので少し整理してみる。 そもそもreturnとは何なのか returnを使えば戻り値をメソッド呼び出し元に返すことができるとある。 これはどういうことなんだろうか? 実際に使って動作を確認してみました。 def…