2016-12-01から1ヶ月間の記事一覧

【初心者C++er Advent Calendar 2016 21日目】C++ でプリプロセスマクロを使う場面

C++

初心者C++er Advent Calendar 2016 21日目の記事です。 さて、巷ではマクロを使用したコードを公開すると『static const を使え』や『typedef しろ』、『関数テンプレートでおk』などと斧が飛んでくる突っ込まれることが多いです。 これは C++ では『基本的…

Ruby 2.4 で refinements の制限が緩和された

さて、先日 Ruby 2.4 がリリースされました。 Ruby 2.4.0 リリース [refinements の制限を緩和] Ruby 2.4 では refinements の制限が緩和され、#send からも refine されているメソッドが呼び出せるようになりました。 class X; end module Ex refine X do d…

【初心者C++er Advent Calendar 2016 20日目】関数テンプレートの呼び出しに優先順位をつける

C++

初心者C++er Advent Calendar 2016 20日目の記事です。 クリスマスが終わって『もはや Advent Calendar とは…』となってるんですが、まあ埋まってないより埋まってるほうがいいかなーと。 今回は初心者向けかどうか怪しい内容ですが、ちょっとしたハックでも…

【初心者C++er Advent Calendar 2016 19日目】C++ で楽しいメタプログラミングをしよう

C++

初心者C++er Advent Calendar 2016 19日目の記事です。 クリスマスから少し過ぎてしまいましたが、最後に楽しくメタプログラミングしてみる記事でも。 初心者C++er Advent Calendar 2016 が全部うまるといいですね。 [メタプログラミングとは] メタプログラ…

【初心者C++er Advent Calendar 2016 17日目】C++ で型と値を理解する

C++

初心者C++er Advent Calendar 2016 17日目の記事です。 初心者ネタに型と値の話でも。 [値とは] C++ における値とは数値や文字列、クラスのインスタンスなどを指します。 // 数値や小数 42 3.14f // 文字や文字列 'c' "homu" // クラスのインスタンス std::s…

【初心者C++er Advent Calendar 2016 11日目】C++ で型によるコンパイル時条件分岐技法まとめ

C++

初心者C++er Advent Calendar 2016 11日目の記事です。 空いてるようなのでまた書きました。 さて、初心者用ということで型を使用した『コンパイル時条件分岐技法』を簡単に紹介してみます。 [注意] 本記事では C++11 で動作することを想定してるコードにな…

【C++ Advent Calendar 2016 13日目】C++ で楽しく Expression Templates しよう

C++

C++ Advent Calendar 2016 13日目の記事です。 13日目が空いてるようなのでちょっと Expression Templates というマニアックなネタでも。 まあ C++ プロの方なら Expression Templates なんて余裕ですよね。 [注意] 本記事のコードは基本的には C++14 に準じ…

【C++ Advent Calendar 2016 22日目】C++ で enable_if を使うコードのベストプラクティス

C++

[追記] @pink_bangbi typename std::enable_if<..., std::nullptr_t>::type* = nullptr の * は余計ではありませんか。これだと nullptr_t にする意味が— akinomyoga (@akinomyoga) 2016年12月22日 すみませんすみません、修正しました。 [本編] C++ Advent …

unite-oldfiles つくった

Vim

最近 v:oldfiles というのが流行ってるらしいのでつくった。 [プラグイン] osyo-manga/unite-oldfiles NeoBundle "osyo-manga/unite-oldfiles" 最近は unite.vim よりも denite.nvim が主流らしいがわたしは使用していない。

【初心者C++er Advent Calendar 2016 13日目】予約済み識別子に注意しよう

C++

初心者C++er Advent Calendar 2016の13日目が空いてるようなの書きました。 本記事は初心者C++er Advent Calendar 201613日目の記事になります。 初心者C++er Advent Calendar 2016では 3回目の記事になりますが、今回は予約済み識別子の話です。 [予約済み…

RSpec のマッチャで === を使う

通常 eq を使用すると == が使われるんですが、これを === で比較したかった。 このように任意の演算子でテストしたい場合は次のように書ける。 expect(9).to be > 6 expect(3).to be <= 3 expect(1).to be < 6 expect('a').to be < 'b' expect(String).to b…

【初心者C++er Advent Calendar 2016 8日目】関数テンプレートと関数オブジェクト

C++

タイトルは釣りです。 初心者C++er Advent Calendar 2016 8日目の記事になります。 8日が空いていたので簡単なものを書きます。 前回の記事を書いたあとに (省略されたtemplateのが気になった)— Sd2E 002/100 (@chiwawa_star) 2016年12月6日 と、言われたの…

【初心者C++er Advent Calendar 2016 3日目】C++ で型推論(auto)しよう

C++

初心者C++er Advent Calendar 2016 3日目の記事です。 3日目が空いてるようなので書いてみました。 今回は初心者向けの Advent Calendar ということで軽めの記事になります。 また、本記事では C++14 を基準としたコードになります。 [C++ で型を書く場面] …

【Ruby Advent Calendar 2016 1日目】 Ruby でブロックを簡潔に定義する

Ruby Advent Calendar 2016の1日目の記事になります。 わたしはあまり Rails と言ったフレームワークや Ruby がよく利用されてる Web 界隈には詳しくはないので、本記事は Ruby という言語に関するネタになります。 [Ruby といえば] さて、表題のブロックで…