中划线怎么输入,手机怎么打中划线

说明:减号,中划线,dash,等同于本文;下划线,underscore,等同。“连接符一般指连接单词的符号(故意不使用连接字符/hyphen,因为连字符通常是中线/减号)。

中划线怎么输入,手机怎么打中划线插图

下划线在上

直观的差别

  • 视觉上,减号更平衡。下划线的存在感较低,在http链接甚至可能被淹没,很难区分空间。
  • 在输入方面,需要按下更多的下划线 Shift 因此,减号在便利性上加0.1分。
中划线怎么输入,手机怎么打中划线插图1

超链接下划线的可读性差

深入的差别

以下划线连接字符串双击将选择所有(注意),减号连接的字符串需要鼠标。因此,下划线连接更方便,这也是一些学生选择使用下划线的原因。

这种差异接近下划线和减号的本质区别,即它们在分词上的差异。在计算机世界中,下划线的连接通常被用作单词,而减号的连接不是。

注:并不是所有的软件都是这样。试试一个版本Word, 不是这样(后图中有)。

分词的差别

这里的单词不是英语单词(word),在计算机世界里,我们通常说标识符(identifier)。在标识符中,下划线的位置与26个字母基本相同,略高于数字,因为数字通常不能作为第一个字母。

在主流的正则表达式用来表示单词的字符,即\w是这样的:[A-Za-z0-9_],也就是大小写字母,数字和下划线。请注意,它不包括减号(这里的减号是用来表示范围的)。

因此,在计算机世界里,每个人都是对的"word"包含的字符约定基本一致:包括下划线,但不包括减号。

基于这个分词原则,除了刚才双击的差异,还会有很多差异。

排版的差别

排版的差异主要体现在自动换行时。减号将作为换行时的截断边界,而下划线通常不会。

中划线怎么输入,手机怎么打中划线插图2

Word中分词/换行的区别

面对超长的下划线单词,一些考虑不周的软件也会因为不分隔而溢出(超出预期界面区域)。

中划线怎么输入,手机怎么打中划线插图3

Jenkins超长溢出超长溢出(上下对比)

搜索的差别

如果你的公司做了一个产品,型号叫做 mycompany_myproduct,如果整个文档都使用这个代码,极端点,没有提到mycompany或myproduct这两个词,所以,对于一些搜索引擎,通过myproduct或mycompany无法搜索此页面。

如果型号为mycompany-myproduct,通过mycompany和myproduct,可以找到。SEO这种差异更需要考虑。

据说对于百度,两者的差异相对较小;对Google,减号连接更有优势。毕竟,大多数人倾向于使用它。 myproduct 搜索关键词。

深入的逻辑

在形式和逻辑组合上,有四个符号可以区分隔断。

  1. 形式断开,逻辑断开:这是一个完整的隔断,没有争议地使用空间;
  2. 在形式上连接,逻辑上断开说:弱连接通常用减号;
  3. 正式连接,逻辑连接:姑且称强连接,一般采用下划线;
  4. 形式断开,逻辑连接:这是反人类的,容易造成错误。如果你想计算,中文的全角空间几乎不能计算出来。但这不是它的初衷,它只是一些坑的来源。

因此,真正有意义的组合是前三个。我们可以选择其他符号来表达这三个含义,但这三个符号在外观和传统上是更好的选择,空格、减号和下划线。

为什么要用下划线?

起初,我们必须使用下划线,因为减号用于表示减法。my-var 表示变量 my 减去 var;如果一个变量含有多个英语单词,你不想用它们来区分它们骆驼命名法MyVar,使用下划线my_var。这在大多数编程语言中都是如此。

这种对标识符的要求会泛化,比如 Python 里 package 名称只能用下划线,不能用减号,导致文件名作为模块不能用减号(但一般不引用的程序文件还是可以用减号)。

这种泛化进一步蔓延到C/C 比如世界Google prefer的C 文件名为下划线(虽然可以减号)。

这种泛化最终可能蔓延到所有需要连接单词的场景。毕竟,人们更容易接受单一的规则。

不需要下划线的编程世界

但这不是绝对的。

LISP类语言

在能够清晰区分操作符和连接符的语法中,标识符可以包含减号,例如LISP,操作符是前置的,元素由空格或括号分隔,使标识符可以随意包含减号。

(let ((my-var 300) (your-var 100))
(print (- my-var your-var)))

上面和下面的代码都是200。"var-300", "var-100", 甚至"300-300", "1-100"只是标识符,不会被视为减法表达式。减法操作只有列表中的第一个元素是减号。

(let ((var-300 300) (var-100 100))
(print (- var-300 var-100)))

(let ((300-300 300) (1-100 100))
(print (- 300-300 1-100)))

HTML世界

XSL其中,大量使用带减号的关键词,如for-each, value-of, copy-of。同样,您自己的标识符也可以包括减号,例如下面的代码my-header。

<xsl:variable name="my-header">
  <tr>
    <th>Title</th>
    <th>Artist</th>
  </tr>
</xsl:variable>

<xsl:template match="/">
  <table border="1">
    <xsl:copy-of select="$my-header" />
    <xsl:for-each select="catalog/cd">
      <tr>
        <td><xsl:value-of select="title"/></td>
        <td><xsl:value-of select="artist"/></td>
      </tr>
    </xsl:for-each>
  </table>
</xsl:template>

CSS也是如此。

.banner {
  border: solid black 1px;
  box-shadow: 1px 2px;
  background-color: yellow;
  text-align: center;
  box-sizing: border-box;
  width: calc(100% - 80px);
}

它有引用变量值的特殊关键字(var),和表达式计算(calc),因此,它可以肆无忌惮地使用减号开头的标识符。

.foo {
  --widthA: 100px;
  --widthB: calc(var(--widthA) / 2);
  --widthC: calc(var(--widthB) / 2);
  width: var(--widthC);
}

一种感觉,在HTML在这个世界上,似乎很抗拒用下划线。HTML/CSS/XML/XSL在关键字中,似乎所有的关键字都是减号而不是下划线。

思考:语言只是一种协议吗?

当我还是个孩子的时候,一些错误的多音词现在已经成为正确的。因为大多数人按照错误阅读,如僵硬、曝光等。

毕竟,语言的功能是交流,大多数人都能理解它是很重要的,因为绝大多数人认为它应该这么读,错并不坏。此外,原来的正确发音并没有反映出更多或更正确的本质。

我工作的最后一家公司到处都是下划线,比如Linux在核心代码中,如果您看到以下划线命名的文件,它基本上是由我们公司增加的。在改变了一家公司之后,这种现象已经好转了。几乎所有需要连接单词的地方都使用下划线。

中老年人码农,我应该高兴,这表明码农已经开始占领世界。

那么,纠结用下划线还是减号,是不是像纠结生僻的多音字,还是茴香字有几种写法,变得不合时宜?我应该随大流吗?

但根据我有限的观察,在英语技术世界里,两者的使用还是有区别的,没有无脑的划线。

另一点是,我们在逻辑上需要这两个符号:一个是强连接,另一个是弱连接(如前所述)。两者并不完全是替代关系。

结语及倡议

下划线和减号可用于连接字符串,其本质区别在于分词逻辑的差异。

  • 下划线通常用于表示强连接:形式上是连接,逻辑上是整体,在机器世界中通常是一个"word";
  • 减号通常用来表示弱连接:形式上是连接,逻辑上是分开的,通常被机器用作多个"word";
  • 在两个连接符并存的字符串中,我们通常认为下划线具有更高的优先级。

在国内软件领域,个人观察显示下划线被滥用。然而,在英语世界中,除了代码,基本上仍然遵循英语写作的习惯,并使用减号作为连接符。

所以我建议:如果必须的话,尽量用减号作为连接符。

综上所述,目标是看机器(如编译器)的领域,如源代码和某些语言的文件名,使用下划线;目标是给人看的领域,比如UI,技术文章,遵循英语写作习惯,使用减号。这是最好的兼容性。

中划线怎么输入,手机怎么打中划线插图4

使用减号连接

作为个人,在特定的技术领域和团体中,当地的规则和协议是优先考虑的。但另一方面,作为一个标准制定者,我们应该考虑真正的主流及其内部逻辑,不要轻易扩大规则。

**本论坛部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本论坛仅供提供学习交流和参考,禁止用户用于商业行为,并请于下载后24小时内删除,若喜欢该作品请联系原作者购买正版。如果您发现论坛上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
158自学网 » 中划线怎么输入,手机怎么打中划线
关于售后:
(1)、因部分资料含有敏感关键词,百度网盘无法分享链接,请联系客服进行发送;
(2)、所有资料在您未收到之前,都可以联系微信/QQ:406499404,无条件退款
(3)仅支持原渠道退回,微信支付,支付宝退回至您当初选择的付款方式
(4)不用担心不给资料,如果没有及时回复也不用担心,看到了都会发给您的,请放心!
(5)因部份资源来源互联网,本站不担保其完整性,请知悉!

提供最优质的资源集合

立即查看 了解详情
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?关注我们的公众号吧!♡