main() 的参数是叫 argument 还是 option好?

il15
il15 07月05日 字数 61

一般来说用的是 argc, argv,但是从意义上来说,应该是option吧?

17 个回复
z16166
Netguy 07月05日

这重要吗?

il15
il15 07月05日

笑。主要是我最近造轮子,然后纠结是 handle_opt()好,还是handle_arg()好

【 在 z16166 的大作中提到: 】

: 这重要吗?

z16166
Netguy 07月05日

听从内心的召唤即可

不行还有掷硬币大法

【 在 il15 的大作中提到: 】

: 笑。主要是我最近造轮子,然后纠结是 handle_opt()好,还是handle_arg()好

liangf
大侠 07月05日

handle_opt_arg()

【 在 il15 (il15) 的大作中提到: 】

: 笑。主要是我最近造轮子,然后纠结是 handle_opt()好,还是handle_arg()好

foliver
Oliver 07月05日

还有parameter啊。

遵守语言约定,main的参数代码中就叫arg,程序对外给用户展示就叫option。

其他函数就叫para

【 在 il15 的大作中提到: 】

: 笑。主要是我最近造轮子,然后纠结是 handle_opt()好,还是handle_arg()好

: 【 在 z16166 的大作中提到: 】

: ...................

milksea
肥了,又肥了 >>>_<<< 07月05日

类似的库有 getopt argparse gflag Boost.Program_options

我的感觉是叫啥的都有。

不过 parameter 似乎确实不用,这个词用于表示形参。

【 在 il15 的大作中提到: 】

: 笑。主要是我最近造轮子,然后纠结是 handle_opt()好,还是handle_arg()好

: 【 在 z16166 的大作中提到: 】

: ...................

il15
il15 07月05日

嗯,所以只在 arg 和 opt里面挑一个。

我本来一直用 arg的,然后man了一下比如ls之类的,发现应该是用opt,而arg是每个opt带的参数。

但是如果改成opt的话,main按照习惯来说,还是用 argc, argv,

这样的话 handle_opt( argc, argv )又感觉挺奇怪的...

【 在 milksea 的大作中提到: 】

: 类似的库有 getopt argparse gflag Boost.Program_options

: 我的感觉是叫啥的都有。

: 不过 parameter 似乎确实不用,这个词用于表示形参。

sssss
冬至 07月05日

main的形参变量名不是argc和argv吗

【 在 il15 的大作中提到: 】

: 笑。主要是我最近造轮子,然后纠结是 handle_opt()好,还是handle_arg()好

: 【 在 z16166 的大作中提到: 】

: : 这重要吗?

Qlz8848
买好房 找立志 07月05日

无所谓吧,写注释时候写清楚就行。

【 在 il15 的大作中提到: 】

: 一般来说用的是 argc, argv,但是从意义上来说,应该是option吧?

dreamr
追梦人 07月06日

个人以为,argument 偏重于基础类型,比如main 函数中每个argument 都是字符串。

options 更多用于结构体参数。

【 在 il15 的大作中提到: 】

: 一般来说用的是 argc, argv,但是从意义上来说,应该是option吧?

hothail
沸冰!无尽的华尔兹 07月06日

Qt中 main 就是 argc/argv

但也有QCommandLineOption

所以从心就行

【 在 il15 (il15) 的大作中提到: 】

: 一般来说用的是 argc, argv,但是从意义上来说,应该是option吧?

il15
il15 07月07日

赞! 觉得你这个好像有点道理.

所以可能应该是起个类似 arg_2_opt() 名字的函数...

【 在 dreamr 的大作中提到: 】

: 个人以为,argument 偏重于基础类型,比如main 函数中每个argument 都是字符串。

: options 更多用于结构体参数。

il15
il15 07月07日

呵呵,之前没看到你回的这个,可能像你这样命名比较好

【 在 liangf 的大作中提到: 】

: handle_opt_arg()

giggham
make clean 08月02日

ls -l /home

-l是option,/home是argument

用于改变行为的叫option,被操作的对象叫argument

【 在 il15 (il15) 的大作中提到: 】

: 标  题: main() 的参数是叫 argument 还是 option好?

: 发信站: 水木社区 (Mon Jul  5 10:58:48 2021), 站内

: 一般来说用的是 argc, argv,但是从意义上来说,应该是option吧?

: --

Minjun
minjun 08月03日

赞,总结得有道理;

【 在 giggham 的大作中提到: 】

: ls -l /home

: -l是option,/home是argument

: 用于改变行为的叫option,被操作的对象叫argument

: ...................

il15
il15 08月03日

是的,是这个意思,多谢。

就是命名的时候不知道怎么从名字上更好的让人望名知意。

或者可以这样:handle_options(), handle_1opt_witharg()...

【 在 giggham 的大作中提到: 】

: ls -l /home

: -l是option,/home是argument

: 用于改变行为的叫option,被操作的对象叫argument

: ...................

fanci
大葡萄 08月20日

我觉得叫opt好,因为getopt 而且opt 特指传给主程序的开关 arg太笼统了