Ruby コーディング規約を読む
Rubyコーディング規約をいくつか調べた。
下記のコーディング規約は、日本語で記載されていて読みやすかったので参考にした。
fork 元のドキュメントのほうが最新更新が新しいので気になった部分のソースも確認した。 github.com
構文
否定形のときはifよりunlessが好まれます。(もしくは||構文を使いましょう)。
本文が1行のときは、if/unless修飾子を利用するのが好まれます。 他の良い代替案としては&&/||を使った制御構文があります。
unlessをelse付きで使ってはいけません。 肯定条件を先にして書き換えましょう。
unless および until の条件式に複数の項を || で結合した論理式 (加法標準形) を書いてはならない。
if/unless/while/until構文では()の使用は避けましょう.
if, whileの否定形のunless, until。 多言語ではない制御構造だが、シンプルに読みやすい程度で使うことができる。
puts は () を省略を推奨されている
- 等価演算子===の露骨な使用は避けましょう。 その名が示す通り、caseの条件判定で用いられており、 その外で用いられると混乱のもとになります。
PHPでは、厳格な比較として使われていた。
Rubyでは厳格な比較は、is_a や include などのメソッドを使う。 また、case 文で使われることを許容している。
正規表現
- どの値が入っているか追うのが困難になるので、 順序付けられたグループを使うのは避けましょう。 代わりに名付けられたグループを使いましょう。
グルーピングは名前つきを使う。
Ruby 入門
Ruby の勉強をした。
こちらの書籍でざっくり入門。
Ruby を触ってみて、初めて知ったことなどのメモを残す。
シンボル
任意の文字列を内部的に整数として扱うオブジェクト。 整数であるため、文字列と比べて処理が高速である。
ハッシュのキーなどに使われる。
fruits = {:apple => 'りんご', :banana => 'バナナ', }
p fruits[:apple]
"りんご"
下記の書き方もできる。
fruits = { apple: 'りんご', banana: 'バナナ', }
p fruits[:apple]
ハッシュの初期値
下記のように、ハッシュのデフォルト値を設定した際に、存在しないキーで参照したい際にデフォルト値を取得できる。
hash = Hash.new p hash[:key] hash_default = Hash.new('default') p hash_default[:key]
nil "dafault"
デフォルト値のオブジェクトは、同一になる。
hash_default = Hash.new('default') foo = hash_default[:foo] bar = hash_default[:bar] p foo == bar foo.upcase! p foo p bar p foo == bar
true "DEFAULT" "DEFAULT" true
foo に破壊的変更を行うと、bar の値も変更される。
Splat 演算子(展開)
配列やハッシュを展開する演算子。
array = [1, 2, 3] p([array, 4]) p([*array, 4])
[[1, 2, 3], 4] [1, 2, 3, 4]
ブロック
ブロックは、処理のかたまり。
array = [1, 2, 3] array.each do |n| p(n) end
{ } で書き換えができる。1行で書ける場合は、こちらが使われる。
array.each { |n| p(n) }
ブロックは、メソッドの引数として渡すことができる。 渡されたブロックは、yield で実行される。
def hello puts('hello') yield end hello { puts('hoge') }
hello hoge
メソッド呼び出しの括弧の省略
メソッド呼び出しでは、括弧を省略できる。
引数がある場合は、メソッド のあとにスペースを挟んで引数を並べる。
def puts_sample(text) puts(text) end puts_sample('foo') puts_sample 'bar'
foo bar
まだ違和感もあるが、書いてみると煩わしさが軽減できて悪くもない。
一般的にどちらが使われているかは調べてみる。
キーワード引数
名前を指定して、引数を渡せる。他言語でも使えた。
def puts_sample(text:) puts(text) end puts_sample(text: 'foo')
foo
任意のキーワード引数
引数の前に ** をつけて、複数のキーワード引数をハッシュで受け取る。
def hoge(**args) p(args) end hoge(a: 1, b: 2, c: 3)
柔軟性が高い一方で、使い方に注意が必要そう。
&. 演算子 (safe navigation operator)
nil かもしれないオブジェクトに対して、安全にメソッドを呼び出すときに使う演算子。
foo = 'foo' p foo&.upcase bar = nil p bar&.upcase
"FOO" nil
Dart では Null-aware演算子、Kotlinではセーフコール演算子 として同様の機能があった。
アクセサメソッド
ゲッター、セッターを付与できる。
class Book attr_accessor :title def initialize(title) @title = title end end book = Book.new('hogehoge') p book.title book.title = 'fugafuga' p book.title
"hogehoge" "fugafuga"
attr_writer , でセッターのみ、attr_reader でゲッターのみを追加できる。
RDocコマンド
Rubyのドキュメント生成をするコマンド
% rdoc Parsing sources... 100% [ 7/ 7] /home/ ... / Generating Darkfish format into /home/ ... / Files: 7 Classes: 4 ( 3 undocumented) Modules: 0 ( 0 undocumented) Constants: 1 ( 1 undocumented) Attributes: 1 ( 1 undocumented) Methods: 6 ( 5 undocumented) Total: 12 (10 undocumented) 16.67% documented Elapsed: 0.1s

所感
文字列や整数型などもクラスやオブジェクトになるため、言語標準で使える機能が多いように感じた。 一方で、多様な書き方、表現ができるため、実用に沿った書き方、コーディングルールを調べてみる。
マイプロテイン GW 限定 プロテイン EAA
マイプロテインのGW限定商品のシーズンとなりました。
去年は、ゴールデンEAAが美味しかったです!
今年は、プロテインの方も買ってみました。
Impact EAA - 梅フレーバー


早速飲んでみました!
しっかり梅味で美味しいです!トレ中も飲みやすいと思います。
欲を言えばもっと酸っぱいほうが美味しいかもしれません。
クエン酸とか入れて適度に酸味増すのもありかもですね。疲労回復にも良さそうです。
Impact ホエイ プロテイン - ミックスジュースフレーバー


ミックスジュースフレーバーのプロテインは、微妙でしたねーw
マイプロ特有のバナナの臭み(草味)がいる感じがしますw
飲めないほどではないですが、積極的には飲まないと思います。
250gでよかった^^;
まだGWセールやってるみたいなので、気になった方はぜひ!
蓮爾 新町一丁目店 たまラーメン小ニンニク
蓮爾の新町一丁目店に行ってきました。
GW前の営業でした。
たまラーメン小 麺カタメ 麺マシ

オーダー
たまラーメン小 麺カタメ 麺マシ
無料トッピング
- ニンニク
麺マシ。今日はやけに麺量が多く見える。
ヤサイはシャキ。

豚は大きめの三角豚。ギュチとしたカタめの豚は食べごたえがある。
味もしっかり染みてる。
アブラも程よくついててうまい。

お待ちかねの麺。
序盤はムチとした柔麺。
表面柔らか、中カタめ。

麺が減ってきて、汁としっかり絡めるといい感じ。
下の方はしっかり硬くて好みの仕上がり。

今日の汁は本当に少なかった。
濃くてうまかった。
所感
GW前の蓮爾。しっかり小麦補給ができて満足。
初手の見た目に比べて意外とぺろりと食べられました。
Twitterを見ると、比較的汁が少ないと感じる人が多かったみたい。
新町蓮爾の醍醐味ですね。
MEN YARD FIGHT えびラーメン
MEN YARD FIGHT でえびラーメン。
えびラーメン
オーダー
- えびラーメン 1000円
無料トッピング
- ニンニク




所感
年始ぶりのメンヤードでえびラーメン。 やっぱり、スープうまいんですよね。
麺もさることながら、それに負けないスープだと思います。
現在の限定が辛そうなので、一旦通常メニューを挟んでみました。
限定もチャレンジするか否か、、
豚風。限定こんぶ。
4月上旬、豚風。の限定こんぶ。を食べてきました。
いわゆる昆布水つけ麺。実は昆布水つけ麺、これまで食べたことがなかったので、今回の限定はぜひとも食べたいところでした。
豚星。で以前一度こんぶにトライしましたが、長蛇の行列目の前にして断念したこともありました。。
当時は豚風。ができる前で、人気な限定にありつくが大変でしたが、豚風。の登場によって少し分散できてるのかもしれないですね。
限定 こんぶ。

オーダー
- 限定こんぶ。 1200円
無料コール
- ヤサイ、ニンニク、辛味
有料トッピング
- 海苔 100円
斜めからも

麺

まずは昆布水に浸かった麺から。
ほー!本当に昆布出汁に麺が浸かってる!
確かに、こうやって麺だけで食べたくなるのもわかる。すごく上品で贅沢な感じがします。
つけ麺なんて味の濃いつけ汁につけてなんぼなもんでしょう。それを出汁に浸すとこうも印象が変わるのか。
なるほどなるほど。

そして、つけ汁。
酸っぱ辛さと二郎系特有の脂が効いたつけ汁。これにヤサイと合わせて食べるのが本当においしい。つけ汁がドレッシングになってる。 無料トッピングで辛味をいれましたが、想定した好みの味になってました。
先の昆布水をまとった麺を潜らせて食べてみる。
出汁だけとは打って変わって、濃い塩味と辛味、酸味が効いててうまい。脂を纏っていっきにジャンクに。 このつけ汁好きですね。麺が止まらない。
そしてほのかに感じる昆布出汁。この昆布感を残すようにつけ汁を潜らせるのポイントなのかも笑

豚。
最近、豚星に通っていて改めて思うのが、豚風。の豚はギュチ感が強めかな。豚星。はもう少しトロっとしている印象。(豚のブレや主観が含まれているのであくまで一意見)
ギュチ豚も好きです。
つけ汁

こんぶ

麺を食べきってあらてめ昆布水を眺めるときれいな出汁色なんですね。
浮いている脂はなんだろう。。 多分箸についた脂なのかな。
所感
ごちそうさまでした。念願の豚風。のこんぶ。美味しかったです。
毎回限定が興味を引くラインナップで飽きないんですね。 このブログを書き上げる頃にはこんぶ。終わってしまいました。
おはようございます豚風。ます😁
— 豚風。(公式) あらいめし (@araimeshi) 2023年4月21日
3/22 11時〜24時までの通し営業
11時〜24時までの通し営業
オープン〜
台湾つけ麺 塩¥50
台湾シリーズ→印度・トマト・山葵¥100
売り切れ〜
辛ぼなーら。 粉チーズ¥100
18時〜 あんかけ焼きそば。塩
お土産麻婆味噌台湾あります!
豚風。
— ユックン (@yukkun_0920) 2023年4月22日
あんかけ焼きそば。塩+燻製うずら+ごはん
そのまま
不定期開催の"町中華あらいめし"
18時にはとんでもない行列
醤油と比べてかなりあっさり
ただ塩の旨味で餡かけが信じられないほど美味い
途中、からしとお酢で味変し最後まで大満足で完食
ご馳走様でした
いつもありがとうございます pic.twitter.com/WG73kwJfZb
あんけか焼きそばやってるみたいです。気になりますね~
また豚風。食べに行きます。
豚星。に比べて、体感麺が多い気がしていますが、気のせいでしょうか
豚星。汁なしそば ショウガ
ラーメン備忘録。2023年の4月上旬です。
豚星。で汁なしのアレンジを模索してきました。
汁なしそば + ショウガ

豚。豚星。の豚はうまい。

麺

所感
ショウガを入れるとさっぱりしてジャンク感が程よく抑えられていいですね。
ショウガは魚粉と合わせてみたいです。ぜひ次回。