【一人 Ruby Advent Calendar 2017】` メソッドで外部コマンドの実行結果を取得する【16日目】

一人 Ruby Advent Calendar 2017 16日目の記事になります。 遅れてしまいすみません。 Ruby の ` メソッド Ruby では外部コマンドを呼び出す手段がいくつかあるんですが、以下のように ` メソッドを使用することで `{command}` の結果を戻り値として取得する…

【一人 vimrc advent calendar 2017】vimrc で set nocompatible を行うケース【16日目】

Vim

一人 vimrc advent calendar 2017 16日目の記事になります。 ちょっと遅れてしまいすみません…。 さて、以前『vimrc で set nocompatible を行う必要はない』と書きました。 しかし、set nocompatible するべきケースがあったのでちょっと紹介してみます。 V…

【Haskell (その2) Advent Calendar 2017】Vim から Hoogle の検索が出来るプラグインをつくった【16日目】

Haskell (その2) Advent Calendar 2017 16日目の記事です。 ちょっと時間が過ぎてしまってすみません…。 Haskell 関連のネタが特に思いつかなかったので『Vim から Hoogle を Web 検索する』簡単な Vim プラグインをつくりました。 ちなみに既存のプラグイン…

【一人 vimrc advent calendar 2017】ノーマルモードで編集するキーマッピングいろいろ【15日目】

Vim

一人 vimrc advent calendar 2017 15日目の記事になります。 今回はノーマルモードでよく使っているバッファを編集するキーマッピングの紹介を。 キーマッピング " スペースを挿入 nnoremap <C-Space> i<Space><Esc><Right> " カーソル位置の上に改行を挿入 " カーソル位置のテキストを下</right></esc></space></c-space>…

【一人 Ruby Advent Calendar 2017】Ruby の &. 演算子【14日目】

一人 Ruby Advent Calendar 2017 15日目の記事になります。 今回は Ruby 2.3 で追加された &. 演算子(ぼっち演算子)について紹介します。 &. 演算子 &. 演算子はメソッド呼び出し(.)の代わりに使用できる演算子です。 obj&.hoge と呼び出した場合 obj が n…

【一人 Ruby Advent Calendar 2017】Ruby の && と || 演算子【14日目】

一人 Ruby Advent Calendar 2017 14日目の記事になります。 今回は Ruby の && と || 演算子のお話。 && や || 演算子 Ruby の && や || 演算子はちょっと特殊で、真理値ではなくて『左辺、もしくは右辺を評価した値』を返します。 &&:左辺を評価して、 偽…

【一人 vimrc advent calendar 2017】:set と :setlocal の違い【14日目】

Vim

一人 vimrc advent calendar 2017 14日目の記事になります。 :set と :setlocal の違い :set も :setlocal も Vim のオプションを設定するためのコマンドです。 :set はグローバルなオプションを設定するのに対して、 :setlocal はカレントバッファ/ウィンド…

【一人 vimrc advent calendar 2017】カーソル下の英数字を加減する【13日目】

Vim

一人 vimrc advent calendar 2017 13日目の記事になります 体調不良により公開が遅れてしまってすみません カーソル下の英数字を増減する さて、Vim では <C-a> でカーソル下の数値を増やしたり、<C-x> でカーソル下の数値を減らしたりする事ができます。 また、'nrfor</c-x></c-a>…

【一人 Ruby Advent Calendar 2017】Ruby に Method#=== が入った!!【13日目】

一人 Ruby Advent Calendar 2017 13日目の記事になります。 なんかこのツイートが目についたので、開発者会議で話題にしてみてacceptされました。— Akira Matsuda (@a_matsuda) 2017年12月12日 と、言うことでわたしが提案してパッチを投げていた Method#===…

【一人 vimrc advent calendar 2017】現在のファイル名を変更する【12日目】

Vim

一人 vimrc advent calendar 2017 12日目の記事になります。 今回は個人的に使う機会が多い簡単な Ex コマンドの紹介でも。 現在開いているファイル名を変更する さて、Vim を使っていると『現在開いているファイル名を変更したい』ということが稀によくある…

【一人 Ruby Advent Calendar 2017】Ruby の演算子について【12日目】

一人 Ruby Advent Calendar 2017 12日目の記事になります。 今回は演算子について簡単に。 Ruby の演算子ってなに? さて、プログラミング言語では + や == 、<< などなど様々な演算子があります。 Ruby ではこれらの演算子は『メソッド』として定義されてい…

【一人 Ruby Advent Calendar 2017】外部からインスタンス変数にアクセスする【11日目】

一人 Ruby Advent Calendar 2017 11日目の記事になります。 今回も昨日に引き続いて外部からクラスの内部へアクセスするネタです。 インスタンス変数 さて、Ruby では @value というような『@ + 名前』の変数を使用することで『そのオブジェクト内で共通して…

【一人 vimrc advent calendar 2017】filetype 名を簡略化する【11日目】

Vim

一人 vimrc advent calendar 2017 11日目の記事になります。 今回は頻繁に手入力するコマンドを簡略化するというお話です。 Vim で filetype を設定する Vim で雑なコードを書く場合に無名バッファを使うことがあります。 そういう場合は新しいバッファを開…

【一人 vimrc advent calendar 2017】タブ文字を視覚化する【10日目】

Vim

追記 set list は既定値が off なので一緒に書いてあってもいいんじゃないかな〜と思った【一人 vimrc advent calendar 2017】タブ文字を視覚化する【10日目】 https://t.co/41efnJ5nz7— ryunix (@ryunix) 2017年12月10日 全く持ってそのとおりなので追記し…

【一人 Ruby Advent Calendar 2017】private メソッドを呼びだそう【10日目】

一人 Ruby Advent Calendar 2017 10日目の記事になります。 さて、今回は Ruby の private についていろいろ Ruby で private メソッドを定義する Ruby では private(という名前のメソッド)を使用することでメソッドを private として定義することができま…

【一人 vimrc advent calendar 2017】第7回 学生エンジニア限定LT大会!!!で Vim を布教してきた【9日目】

一人 vimrc advent calendar 2017 9日目の記事になります。 学生ではないんですが、学生エンジニア限定LT大会で発表してきました。 と、いうか前日まで行くかどうするか悩みまくって申し訳ない Vim の布教 https://osyo-manga.github.io/slide-gakusei_LT-vi…

【一人 Ruby Advent Calendar 2017】クラス名+メソッド名をいい感じに出力する【9日目】

一人 Ruby Advent Calendar 2017 9日目の記事になります。 デバッグ出力として "クラス名#メソッド名" を出力したい デバッグを行っている際に次のように "クラス名#メソッド名" を文字列で出力したいことがあります。 class X def homu # クラス名#メソッド…

【一人 vimrc advent calendar 2017】markdown 内のコードをハイライトする【8日目】

Vim

一人 vimrc advent calendar 2017 8日目の記事になります。 今回のネタは前から設定は知っていたけど放置してて、いざ設定してみたらめちゃくちゃ便利だたというやつです。 markdown 内のコードをハイライトする さて、markdown では以下のようにコードを記…

【一人 Ruby Advent Calendar 2017】表参道.rb #29 ~ Module ~【8日目】

一人 Ruby Advent Calendar 2017 8日目の記事になります。 今日は表参道.rb #29 ~ Module ~参加して LT してきたのでそのスライドでも。 今回もご飯が美味しかった mixin と module について https://osyo-manga.github.io/slide-omotesandorb-29-mixin/#/ …

【一人 Ruby Advent Calendar 2017】クラスとモジュールの違い【7日目】

一人 Ruby Advent Calendar 2017 7日目の記事になります。 今回はクラスとモジュールの違いを簡単にまとめてみました。 クラス class でクラスを定義 .new でクラスのインスタンスオブジェクトを生成 異なるクラスを継承する事が出来る クラスは1つのクラス…

【一人 vimrc advent calendar 2017】ディレクトリをオプションに設定した場合にディレクトリも生成する【7日目】

Vim

一人 vimrc advent calendar 2017 7日目の記事になります。 'backupdir' や 'undodir' などでディレクトリを設定する場合の注意 さて、、Vim では 'backupdir' や 'undodir' などディレクトリを設定するオプションがいくつかあります。 "バックアップファイ…

【一人 Ruby Advent Calendar 2017】Ruby における真と偽【6日目】

一人 Ruby Advent Calendar 2017 6日目の記事になります。 Ruby おける真と偽 Ruby では『false もしくは nil 』は偽、『それ以外以外の全てのオブジェクト』は真になります。 なので、0 という数値も Ruby では真となります。 result = if 0 42 end p resul…

【一人 vimrc advent calendar 2017】vimrc で起動時にのみ実行するスクリプトを記述する【6日目】

Vim

一人 vimrc advent calendar 2017 6日目の記事になります。 vimrc で環境変数などに追記する設定を記述する さて、以前『vimrc で安全に autocmd を設定する』記事でも書いたのですが、vimrc は再読込される可能性を考慮する必要があると書きました。 同様に…

【一人 Ruby Advent Calendar 2017】Ruby で & を使ってブロック引数を渡す【5日目】

一人 Ruby Advent Calendar 2017 5日目の記事になります。 今回は前回書いた『ブロックについていろいろ【4日目】』の続きになります。 前回のおさらい さてさて、Ruby では以下のようにしてブロック引数という特別な引数を使うことができます。 def func &b…

【一人 vimrc advent calendar 2017】Windows ライクなキーマッピングを使う【5日目】

Vim

一人 vimrc advent calendar 2017 5日目の記事になります。 今回は Windows ライクなキーマッピングのお話。 Vim でも Windows ライクなキーマッピングを行いたい さてさて、Windows ユーザが Vim を使うとお馴染みの Ctrl + x:切り取り Ctrl + c:コピー C…

【一人 Ruby Advent Calendar 2017】ブロックについていろいろ【4日目】

一人 Ruby Advent Calendar 2017 4日目の記事になります。 ちょっと遅れてしまい申し訳ありません。 さて、今回は Ruby といえばブロック、ブロックといえば Ruby ぐらいに Ruby の特徴的な機能の1つであるブロックについてみます。 ブロックとは Ruby では…

【一人 vimrc Advent Calendar 2017】vimrc から別のスクリプトファイルを読み込む【4日目】

Vim

一人 vimrc Advent Calendar 2017 4日目の記事になります。 今回は vimrc から別のスクリプトファイルを安全に読み込みます。 任意のスクリプトファイルを読み込む さて、vimrc が少し大きくなってくると プラグイン キーマッピング コマンド filetype みた…

【一人 Ruby Advent Calendar 2017】case-when と === 演算子について【3日目】

一人 Ruby Advent Calendar 2017 3日目の記事になります。 さて、今回は case 式の when 節と #=== 演算子について簡単に解説してみたいと思います。 case 式 さてさて、Ruby の case 式は以下のようにして when 節と組み合わせて使います。 def func n case…

【一人 vimrc Advent Calendar 2017】vimrc で安全に autocmd を設定する【3日目】

Vim

一人 vimrc Advent Calendar 2017 3日目の記事になります。 今回は autocmd について書きます。 autocmd とは autocmd とは『任意のタイミング』に処理をフックするための機能です。 例えば、 『バッファに入る度にバッファ名をフルパスで表示する』 みたい…

【一人 Ruby Advent Calendar 2017】文字列から任意のクラスオブジェクトを取得する【2日目】

一人 Ruby Advent Calendar 2017 2日目の記事になります。 今回は "Integer" みたいな文字列からその名前のクラスオブジェクトを参照する方法を書いてみます。 定義したクラスは誰が保持するのか Ruby でクラスを定義すると『そのスコープの定数』としてクラ…