Learning anything, Learn its culture

Perl

Perl 中的 $ 与 @

   在 Perl 中, 变量用 $ 开头, 而数组用 @ 开头, 为什么呢?

    Larry 宣称他之所以选择 $ 与 @ 这两个符号, 是因为 $calar 看起来像 scalar (标量), 而 @rray 则像 array (数组). (p.54)

Perl 中的 钻石操作符 <>
   这个形象的名字是怎么由来的呢?
    钻石操作符是 Larry 得女儿 Heidi 命名的, 某天当 Randal 拿着他新写的 Perl 培训教材去 Larry 家给他看的时候, 这个操作符还没有一个角得出的名字, Larry 也想不出来, 八岁的 Heidi 灵机一动, 说 "它像钻石", 于是遍有了这个名字, 谢谢 Heidi! (p.85)

哈希用 {} 引出索引
    为什么要用花括号, 而不用方括号呢? Larry 的解释是: 因为哈希的访问方法要比常规的数组访问方法酷一些, 所以也自然需要使用更花哨的括号. (p.109)

名列新闻组中常见问题榜首的是什么?
   批量改名不仅是历史常见问题, 也是这些新闻组目前最常见的问题, 同时还是常见问题集名列榜首, 并最早被解答的问题. 世界真小.
# 根据 Perl 语言入门第五版 (p.210) 有删改 by walfud 2011/7/10

my $filter = " exe " ;
my $newFilter = " exe_ " ;

foreach $name ( glob " *. " . $filter ) {
  my $newName = $name ;
  $newName =~ s /\. $filter $ /\. $newFilter / ;

  if ( - e $newName ) {
    warn " $newName has been exists! " . " \n " ;
  }
else {
    rename $name , $newName
      or
warn " rename $name to $newName failed: $! " . " \n " ;
  }

飞碟操作符( <=> )名称的由来
   这么称呼是因为 《星际大战》 里面的某种钛战机就是这样. 起码我们觉得很像. (p.228)


.out Model

BBS 段

   BBS 段这个名字是 "Block Started by symbol (由符号开始的快)" 的缩写, 它是旧式 IBM 704 汇编程序的一个伪指令, UNIX 借用了这个名字, 至今仍然沿用. 有些人喜欢把它记作 "Better Save Space (更有效地节省空间)". 由于 BBS 段只保存没有值的变量, 所以事实上它并 不需要保存这些变量的映像. 运行时所需要的 BBS 段的大小记录在目标文件中, 但 BBS 段 (不像其他段) 并 不占据目标文件的任何空间.

 

网络编程

为什么常用 inet_aton 函数代替 inet_addr 函数

in_addr_t inet_addr(constchar*str) ;
int inet_aton(constchar*str, struct in_addr *numstr) ;
   inet_addr 将字符串形式的 IP 地址转换成 32 位网络字节序的二进制 IP 地址. 所有 2^32 (0.0.0.0 ~ 255.255.255.255) 都被认为是可能 IP 地址. 然而 inet_addr 以 INADDR_NONE 作为出错的返回值, 通常 INADDR_NONE 为一个 32 位全 1 的值, 对应点分十进制的 255.255.255.255, 因此这个 IP 地址是不能用 inet_addr 处理的. 因此, 人们  常用 inet_aton 函数代替 inet_addr 函数. 

 

C++ 中 std::string 的 size()length()

这里出现两个成员函数依不同的设计原则执行了相同的操作.

  • size() 是根据 STL 习惯而设的成员函数, 用来表明元素数量.
  • length() 传回字符串长度, 就好像 C-strings 以 strlen() 所得结果一样.

转载于:https://www.cnblogs.com/walfud/articles/2076768.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值