ジョギング
- 休み
日課
- (腕立て x 40 + 腹筋 x 30) x 3
佐田整形外科病院ラン&ウォーク外来を受診した
走っている最中、走った後等の右太ももの鈍痛があまりにも長引いていたので, 城南区にある佐田整形外科病院のラン&ウォーク外来を受診してきた.
ホームページを見て分かるように, ラン&ウォーク外来では, 診察で問診や触診だけではなくランニングをビデオ撮影してフォームチェックから, ウォーキングの基本姿勢等を医院長自ら指導し、さらに大濠公園で実際に走りながらフォーム等の指導をしてもらえるというスペシャルコース.
上の写真は, 実際にランニングフォームをビデオ撮影したもの(を, スマフォで撮影したもの).
実際にランニングフォームを見て頂いて, 今まで気付かなかったというか, 疑ってもいなかったフォームに以下のようなダメ出しを食らった.
- 上下動が大きい(重心の移動が小さくなってしまっている)
- 右肩が下がっている(腕振りのバランスも悪くなっている→右腕が下がり過ぎ, 左腕の脇が開きすぎていて横に振っている)
- 右肩が下がっていることにより, 右足への負担も大きくなっている
- 足をクロスに出しすぎている
- 踵からの接地ではなく, ミッドフット着地になっている(足首を使いきっていない)
- 右股関節の周囲の筋肉がとても硬い
- ランニングシューズが合っていない(アディダスのシューズは足先が硬いらしい)
右肩が下がっていることと, 右股関節の周囲筋が硬いことが右太ももの痛みにつながっているということで, 今後, ストレッチで右股関節の周囲筋をほぐしつつランニングフォームを修正していくことになった.
何の疑いもなく 30 年くらい走ってきたけど, フォームへのダメ出し等はかなりショッキングではあったが, サブスリーを目指してストレッチとフォームの矯正を頑張っていきたい.
今日のるびぃ ~ Object#enum_for ~
- https://docs.ruby-lang.org/ja/latest/method/Object/i/enum_for.html
- Object#enum_for は Enumerator オブジェクトを返すメソッド
- Object#to_enum も同様の動きをする
- ブロックを指定した場合は Enumerator#size がブロックの評価結果を返す
以下, 実行例.
[1] pry(main)> ary = [123, 456, 789] => [123, 456, 789] [2] pry(main)> p ary.enum_for #<Enumerator: [123, 456, 789]:each> => #<Enumerator: ...> [3] pry(main)> p ary.to_enum #<Enumerator: [123, 456, 789]:each> => #<Enumerator: ...>
以下, ブロックを指定する例. ドキュメントより引用.
[1] pry(main)> module Enumerable [1] pry(main)* def repeat(n) [1] pry(main)* raise ArgumentError, "#{n} is negative!" if n < 0 [1] pry(main)* unless block_given? [1] pry(main)* return to_enum(__method__, n) do [1] pry(main)* sz = size [1] pry(main)* sz * n if sz [1] pry(main)* end [1] pry(main)* end [1] pry(main)* each do |*val| [1] pry(main)* n.times { yield *val } [1] pry(main)* end [1] pry(main)* end [1] pry(main)* end => :repeat [2] pry(main)> %i[hello world].repeat(2) { |w| puts w } hello hello world world => [:hello, :world] [3] pry(main)> enum = (1..14).repeat(3) => #<Enumerator: ...> [4] pry(main)> enum.first(4) => [1, 1, 1, 2] [5] pry(main)> enum.size => 42
ふむふむ.