1%的用户持有75%的lolcode问题是不公平的。 #OccupyMatsMug〜user2296177


我同意。事不宜迟,这里是墙上99瓶啤酒的LOLCODE版本:



 OBTW
    PRINT TEH LOLCODE VERSHUN OV N BOTTLEZ OV BER ON TEH WALL.
TLDR

HAI 1.3

  HOW IZ I COUNTDOWN YR NUMAH
    I HAS A NAUW ITZ A NUMBR
    I HAS A LEZZ ITZ A NUMBR
    IM IN YR LOOPZ NERFIN YR COWNTR TIL BOTH SAEM COWNTR AN DIFF OF 1 AN NUMAH
      NAUW R SUM OF NUMAH AN COWNTR
      LEZZ R DIFF OF NAUW AN 1
      VISIBLE SMOOSH NAUW AN " LITTERS OV KITTEHS ON TEH NETZ" MKAY
      VISIBLE SMOOSH NAUW AN " LITTERS OV KITTEHS" MKAY
      VISIBLE "WAN FALLS DOWN AN BREAKZ PAH"
      VISIBLE SMOOSH LEZZ AN " LITTERS OV KITTEHS ON TEH NETZ" MKAY
      VISIBLE ""
    IM OUTTA YR LOOPZ

    VISIBLE "1 LITTER OV KITTEHS ON TEH NETZ"
    VISIBLE "1 LITTER OV KITTEHS"
    VISIBLE "WAN FALLS DOWN AN BREAKZ PAH"
    VISIBLE "NO MOAR LITTERs OV KITTEHS ON TEH NETZ"
  IF U SAY SO

  I IZ COUNTDOWN YR 99 MKAY

KTHXBYE
  

免责声明:编写此程序时,没有伤害任何实际的小猫。

迭代次数保存在变量NUMAH中。我知道NUMBR是一个更合适的名称,但是已经被声明为类型。

上面的代码是使用最新的lci使用1.3规范编译的(感谢Pimgd提供了链接)。由于1.3规范并不包含该语言的所有功能,因此也请参见1.2规范。

我不认为LOLCODE具有模板之类的功能,因此将所有输出显示在屏幕上都是

输出:

 99 LITTERS OV KITTEHS ON TEH NETZ
99 LITTERS OV KITTEHS
WAN FALLS DOWN AN BREAKZ PAH
98 LITTERS OV KITTEHS ON TEH NETZ
 


等。

 1 LITTER OV KITTEHS ON TEH NETZ
1 LITTER OV KITTEHS
WAN FALLS DOWN AN BREAKZ PAH
NO MOAR LITTERs OV KITTEHS ON TEH NETZ
 


这是惯用的LOLCODE吗?

评论

当我在HNQ上看到它时,单击它之前,我就像是“噢,我敢肯定,一些嗡嗡声会改变这个标题”,但看起来不错,圣猫们以31票和25了!
我本来以为这是PPCG,却很困惑最长时间的要求。很高兴在这里看到LOLCODE!

@CaptainMan这绝对不是PPCG,但我们确实知道如何编写出色的代码:-)

“编写此程序时,没有伤害任何实际的小猫。”不,但是我认为我的大脑在尝试阅读时受到了一些伤害。

“编写此程序时,没有伤害任何实际的小猫。”所以这绝对不是PPCG,那里有不确定的行为杀死了我的猫

#1 楼

可变大小写

IT IZ PRETTY GUD LOLCODE
HOVEVEZ ME认为TEH LOLCODEZ R EZYR 2可以读取,如果TEH VARZ R小写的话我的猫犯的错误”,他在这篇评论的那部分帮助了我)。

更严重的是,没有好的LOLCODE语法荧光笔是一个问题。可以选择“保持样式”并使所有内容都大写,但是我个人更喜欢使用小写或camelCase变量名,同时保留所有大写字母。与SQL相似,这使您可以查看代码的哪些部分是变量,哪些部分是语言构造。

比较:

I HAS A NAUW ITZ A NUMBR
I HAS A LEZZ ITZ A NUMBR
IM IN YR LOOPZ NERFIN YR COWNTR TIL BOTH SAEM COWNTR AN DIFF OF 1 AN NUMAH
  NAUW R SUM OF NUMAH AN COWNTR
  LEZZ R DIFF OF NAUW AN 1
  VISIBLE SMOOSH NAUW AN " LITTERS OV KITTEHS ON TEH NETZ" MKAY
  VISIBLE SMOOSH NAUW AN " LITTERS OV KITTEHS" MKAY
  VISIBLE "WAN FALLS DOWN AN BREAKZ PAH"
  VISIBLE SMOOSH LEZZ AN " LITTERS OV KITTEHS ON TEH NETZ" MKAY
  VISIBLE ""
IM OUTTA YR LOOPZ


with ...

I HAS A nauw ITZ A NUMBR
I HAS A lezz ITZ A NUMBR
IM IN YR LOOPZ NERFIN YR cowntr TIL BOTH SAEM cowntr AN DIFF OF 1 AN numah
  nauw R SUM OF numah AN cowntr 
  lezz R DIFF OF nauw AN 1
  VISIBLE SMOOSH nauw AN " LITTERS OV KITTEHS ON TEH NETZ" MKAY
  VISIBLE SMOOSH nauw AN " LITTERS OV KITTEHS" MKAY
  VISIBLE "WAN FALLS DOWN AN BREAKZ PAH"
  VISIBLE SMOOSH lezz AN " LITTERS OV KITTEHS ON TEH NETZ" MKAY
  VISIBLE ""
IM OUTTA YR LOOPZ


变量命名

关于NUMAH,您是否考虑过使用NUMBAH?含义相似,但使用更常见的错误发音。

围绕规范工作

您必须按照规范进行操作才能做您想做的事情,我认为值得解释。通过BTW添加评论:

IM IN YR LOOPZ NERFIN YR COWNTR TIL BOTH SAEM COWNTR AN DIFF OF 1 AN NUMAH
  NAUW R SUM OF NUMAH AN COWNTR


角落情况下的正确性

您的函数不会检查传入的值是否大于0这意味着它会在不必要的时候错误地迫使KITTEH破坏其爪子。

在函数顶部添加一个保护子句;您可以通过GTFO提前返回。

IM IN YR LOOPZ NERFIN YR COWNTR TIL BOTH SAEM COWNTR AN DIFF OF 1 AN NUMAH
  NAUW R SUM OF NUMAH AN COWNTR BTW workaround loop counters starting at 0


程序定义

DIFFRINT numbah AN BIGGR OF numbah AN 0
O RLY? YA RLY
    GTFO
OIC


(此代码是否在墙上印出了lolcode版本的啤酒和/或啤酒瓶?),这里还有其他问题:您的评论在HAI 1.3之前。因此,任何加载您文件的解释器都可能不知道您使用的是哪个版本。将您的版本号放在顶部。

可能的其他方言

OBTW
    PRINT TEH LOLCODE VERSHUN OV N BOTTLEZ OV BER ON TEH WALL.
TLDR

HAI 1.3


您在这里打错字了吗,这是一种替代的凯蒂方言,对某些复数使用小写的“ s”吗?我不确定。



最后,我认为这个版本的TEH NETZ上的99升OV KITTEHS不是真实的,因为任何人都知道,当KITTEHS跌落时,它们会没事的。这个版本很可悲,因为所有的KITTEHS都打破了他们的爪子。正确的LOLCODE使用猫,不会虐待猫。

评论


\ $ \ begingroup \ $
绝对是错字。下次,我将尝试写一首以PG为主题的诗。
\ $ \ endgroup \ $
–桅杆
16年7月13日在15:46

\ $ \ begingroup \ $
这就是我开始学习PL / SQL的方式。随机大写单词,然后是一些变量,全部整理整齐。
\ $ \ endgroup \ $
– Mihai-Daniel Virna
16年7月13日在16:12

\ $ \ begingroup \ $
U NAH需要TEA MOAR SRS VERRSIN; LOLCODRZ随时获得它! OMG SRS LOLCODE快来! YAH“ NUMAH” NAH A WORD HEER。
\ $ \ endgroup \ $
– EKons
16年7月13日在19:29



\ $ \ begingroup \ $
@QPaysTaxes是您进行验证还是根本不进行验证...我不太明白为什么要对YAGNI进行> = 0而不是!= 0的检查?
\ $ \ endgroup \ $
– Pimgd
16年7月13日在23:13

\ $ \ begingroup \ $
@QPaysTaxes的区别是DIFFRINT numbah和num sab numbah AN 0都比numbah AN 0大,这对我来说似乎是一个小差异。规模为“少于30秒的工作量”。我会尽我所能在我的工作中加入这样的尽职调查。
\ $ \ endgroup \ $
– Pimgd
16年7月13日在23:16