2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

マルチスケールシミュレーション特論7

Last updated at Posted at 2020-11-25

!Mac OS X-10.15.7 !ruby-2.7.1p83

if-elsif-else-end

講義ページリンク

チャート式ruby-III(if, case, array, each by leap year)

内容

Rubyにおける条件分岐の書き方

課題

入力された整数がうるう年かどうか表示するプログラムの作成

解答例

def leap?(year)
  (year % 400).zero? || !(year % 100).zero? && (year % 4).zero?
end

year = ARGV[0].to_i
p year
p leap?(year)

出力

> ruby check_leap_year.rb 2004
2004
true

> ruby check_leap_year.rb 1999
1999
false

> ruby check_leap_year.rb 1900
1900
false

> ruby check_leap_year.rb 2000
2000
true

NOTE

  • 上記のコードはRubocopでフォーマッティングした
    • LSPを使っているならRuby用のSolargraphというのがあるが,自分の環境(neovim + coc.nvim + coc-solargraph)では動作が不安定だったため見送り
    • Vimにはvim-rubocopというプラグインがあったので,本講義の課題のコードの解析ぐらいの用途ならこれで十分
    • ちなみに,ファイル保存時に自動でフォーマットするには,.vimrcにautocmd BufWritePost *.rb :RuboCop -Aと記述すればよい(いるのか知らんがvimmer only)
  • Rubocop基準では上記のようなフォーマットが望ましいようだ
    • booleanを返すメソッドには return を書かない
    • ==0 じゃなく .zero? でゼロ判定
    • 細かいことはスタイルシート参照
  • あとorgファイルで #+include: でインクルードしたソースコードにシンタックスが適用されない(なんで?)

  • source ~/multiscalesim_toku/grad_members_20f/members/lynd2299/mss7.org
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?