Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

onメソッドのショートオプション・ロングオプションが引数を取る場合について追記 #2658

Merged
merged 2 commits into from
Jul 2, 2024

Conversation

sugiwe
Copy link
Contributor

@sugiwe sugiwe commented Jan 14, 2022

fix #2638

元の「"MANDATORY" の部分は任意の文字列で構いません。」という表記が誤解を招きそう(実際には文字列に限らず1文字だけでも、ショートオプションの場合はスペース1つだけでも引数を取る)でしたので、追記しました。

元の「"MANDATORY" の部分は任意の文字列で構いません。」という表記が誤解を招きそう(実際には文字列に限らず1文字だけでも、ショートオプションの場合はスペース1つだけでも引数を取る)でしたので、追記しました。
Copy link
Member

@znz znz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/ruby/ruby/blob/bb845fb971cebb59ba4b5ac9b88bd3dccb2f73d4/test/optparse/test_reqarg.rb をみるとスペース1つのみは偶然同じ動きをしているだけで、仕様ではなさそうなので、ドキュメントには書かない方が良さそうに思いました。
記号の場合も特に何も意図した仕様はなさそうです。
ロングオプションの方は = 区切りの例もあると良さそうです。

@znz
Copy link
Member

znz commented Feb 2, 2022

(コメントを書いた後で関連 issue の方もみたので、 @nobu さんに確認中です。)

@universato
Copy link
Contributor

ここがこうあるべきだっていう具体的な改善案があるわけじゃなく申し訳ないですが、思ったこと書きます。

半角スペース1つで必須にする方法は推奨される方法ではない気がするので、ドキュメントに個別具体的に書くのは説明過多かなって気持ちがしちゃいますね。&の1文字にしても。

それと、ロングオプションの方の説明も、ショートに寄せすぎてわかりにくい感じがします。

" MANDATORY" の部分は任意の文字列で構いません

ロングの区切りは、半角スペースか=で限られてそうなので、任意に含めたくないなと思いましたのと

on("--longSTRING"){|val| ...} # ロングオプションでは、半角スペースを空けないと引数を取らず、コマンドラインにオプションが存在した場合 true を引数としてブロックを評価します。

ここの文意が伝わりにくいと思いました。

=区切りのケース例も追加するのは、良さそうですね。

@nobu
Copy link

nobu commented Feb 15, 2022

スペースを含む記号のみのケースの動作は今後も保証するものではありません。

@ohai
Copy link
Member

ohai commented Jun 30, 2024

長期間放置されているのでコメントがあった部分を直したものをpushしました。これでmergeしようと思います。

@ohai ohai merged commit 36e408a into rurema:master Jul 2, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

onメソッドのショートオプションが引数を取る場合について
5 participants