Just do IT

思うは招く

2020-11-01から1ヶ月間の記事一覧

RubyMine 自動でローカルの Ruby バージョンを認識してほしい

やりたいこと Ruby の勉強をするため、rb ファイルを作ったが RubyMine がローカルの Ruby バージョンを参照してくれない 問題 ターミナル上ではRuby 2.7.1 を使う設定になっているのに、RubyMine が 2.6.5 を自動で認識してしまう Preferences → Ruby SDK a…

Ruby each_with_object の挙動やサンプル

Ruby には each_with_objectメソッドがある。 docs.ruby-lang.org 名前のとおり、eachメソッドを使えて、空の配列やハッシュなどを引数に渡してそれをオブジェクトとして処理できる。最終的には引数に渡した配列やハッシュを返す。 配列の場合 each_with_obj…

Ruby 配列の要素に重複がないか評価する uniq? メソッドはなかった

配列の要素が重複してないかどうか、真偽値を返すuniq?メソッドないかなーと思って探してみたけどなかった。 ということで、なんちゃって uniq? メソッドを作ってみた。 def uniq?(ary) ary.size == ary.uniq.size end ary = ["h", "o", "g", "e", "h", "o",…

RubyMine 右上のブラウザアイコンを消す方法

cmd + , で preferences を開く browser popup で検索 For HTML files のチェックを外す Apply → OK

Ruby 2.7.0 から使える filter_map メソッドを知った

名前のとおり、filterとmapメソッドを組み合わせたfilter_mapメソッドを知った。Ruby 2.7.0 から追加された。 Returns a new array containing the truthy results (everything except false or nil) of running the block for every element in enum. ruby-…

Ruby でレシーバの要素数を返すメソッド count

Enumerable#count (Ruby 2.7.0 リファレンスマニュアル) ・引数なしの場合、レシーバの要素数を返す ary = [1, 2, 4, 2] ary.count # => 4 ・引数をひとつ指定した場合、レシーバの要素から合致するものを返す ary = [1, 2, 4, 2] ary.count(2) # => 2 ※2を…

「自分を操る超集中力」の読書メモ

メンタリストDaigo氏の「自分を操る超集中力」を読んだ。タイトルのとおり、「いかに集中力を上げるか」というテーマになっている。 結論からいうと、今の自分にフィットした本で、学びがとても多かった。本のとおりに実践したらいきなりガッツリ集中できた…

RubyMine をターミナルからコマンドで開く設定方法

まず、RubyMine でなにか適当なファイルを開く。 画面左上にツールバーが表示されるので、Toolsを選び、Create Command-line Launcherを選ぶ。 自動でパスが設定されるので、OK をクリックするだけ。 mineで RubyMine を呼びだせるようになる。 # 現在いるデ…

Vim タグ内のテキストを選択したい

Vim

たとえば、こんなHTMLがあるとして、タグ内のhogeを削除してインサートモードにしたい場合。 [カーソル位置]<a href="#">hoge</a> <a href="#">bar</a> <a href="#">baz</a> citを押すと、 <a href="#">[カーソル位置]</a> <a href="#">bar</a> <a href="#">baz</a> こうなる。 itは「inside the tag」と覚えればよい。 ちなみにvitだと、ビジュアルモードで該…

Vim ノーマルモードでエンターを押すと改行する設定にしたい

Vim

.vimrc に以下を追記。 nnoremap <CR> i<Return><Esc>^k ノーマルモードでエンターを押すと改行が入るようになる。</esc></return></cr>

Vim コードを横一列にしたい

Vim

Vim でこんなコードを、 hoge bar baz こうしたい。 hoge bar baz 手順 gg でファイルの先頭に移動 V で行のビジュアルモードに入る G でコードの最終まで移動 J で改行コードを削除

Ruby 配列の要素を降順、昇順に並べたい

降順にソート。 [10, 30, 20, 25, 35].sort => [10, 20, 25, 30, 35] 昇順にソート。シンプルにreverseをしてみる。 [10, 30, 20, 25, 35].sort.reverse => [35, 30, 25, 20, 10]

Ruby 配列の要素でもっとも大きい、小さい値を取得したい

もっとも大きい値を取得する。 [10, 30, 20, 25, 35].max => 35 大きい値の上位3つを取得する。 [10, 30, 20, 25, 35].max(3) => [35, 30, 25] もっとも小さい値を取得する。 [10, 30, 20, 25, 35].min => 10 小さい値の上位3つを取得する。 [10, 30, 20, 25…

Rails アプリを Heroku にデプロイするときの手順

やりたいこと 前提 Rails アプリを用意する Gemfile bundle ルートURLを設定 コンパイル、SSL設定 コミット Heroku にデプロイ Herokuに登録 Heroku CLIをインストール Heroku アプリをつくる Heroku に push マイグレーションも忘れずに 自分がハマったポイ…

正規表現の \b を使ってピンポイントで単語をマッチさせる

やりたいこと 以下の文章から、onという文字だけを抜き出したい。 I have a dream that one day on the red hills of Georgia, the sons of former slaves and the sons of former slave owners will be able to sit down together at the table of brotherh…

Ruby で配列内の空文字を削除したい

rejectメソッドを使った場合。 #空文字が入った配列 ary = ["hoge", "bar", "", "baz"] p ary.reject { |el| el.empty? } => ["hoge", "bar", "baz"] 省略すると以下のように書ける。 p ary.reject(&:empty?) => ["hoge", "bar", "baz"] rejectメソッドは、…