查看: 3203|回复: 11

[讨论] 输出2014 但代码中不允许有任何数字!(Ruby版) 【转+译】

[复制链接]

百合控

梦石
0
星屑
6548
在线时间
1275 小时
注册时间
2013-8-21
回帖
3522

开拓者

发表于 2014-1-24 21:51:40 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
原帖(En):http://codegolf.stackexchange.co ... in-your-source-code

输出数字 2014 ,但是源代码中不允许有任何数字

当然如果你不懂任何编程语言甚至英语都不行就可以无视这个了

3

2

1

开始!



[pre lang="ruby" line="1"]p Time.new.year[/pre]太简单 ;)[pre lang="ruby" line="1"]Happy = Time
Happy.new.year[/pre]这个不错,但是不够热情. 这样来:[pre lang="ruby" line="1"]Happy = Time
class Time; alias year! year; end

Happy.new.year![/pre]哎哟不错哦~不过还有更厉害的:[pre lang="ruby" line="1"]class Have; def self.a; A.new; end; end
class A; def happy; Time; end; end
class Time; alias year! year; end

Have.a.happy.new.year![/pre]这个好啊!不过语法不怎么对 我平常说话可不用打点:[pre lang="ruby" line="1"]def noop x = nil; end
alias a noop
alias happy noop
alias new noop
alias year! noop
def Have x
    p Time.new.year
end

Have a happy new year![/pre]哈哈,停不下来了:[pre lang="ruby" line="1"]def noop x = nil; end
eval %w[we wish you a merry christmas! christmas and a happy new].map{|x|"alias #{x} noop"}*"\n"
def year!; p Time.new.year; end

we wish you a merry christmas! we wish you a merry christmas!
we wish you a merry christmas and a happy new year![/pre]

祝大家新年快乐!

点评

... is from libgosu.(www.libgosu.org)  发表于 2014-1-26 20:04
当我没说...  发表于 2014-1-24 22:05
日期函数不是完胜...  发表于 2014-1-24 22:02

评分

参与人数 1星屑 +10 收起 理由
无脑之人 + 10 IE6有点伤不起……等我回到家再看好了.

查看全部评分

萌新瑟瑟发抖
看到我请叫我去干活
梦石
0
星屑
2826
在线时间
2634 小时
注册时间
2013-1-16
回帖
5453

贵宾

发表于 2014-1-24 21:55:26 | 显示全部楼层
VB用asc函数就可以了...
Ruby目测也可以

点评

原帖中有很多人用Ascii码 后来规则更改 禁止这样做  发表于 2014-1-24 21:58
(Created by @喵kano)


施工现场:hotege.github.io
回复

使用道具 举报

梦石
0
星屑
89
在线时间
308 小时
注册时间
2010-8-10
回帖
728
发表于 2014-1-24 22:03:23 | 显示全部楼层
直接获取系统年份来输出那?

点评

第一种就是这样  发表于 2014-1-24 22:04
回复

使用道具 举报

百合控

梦石
0
星屑
6548
在线时间
1275 小时
注册时间
2013-8-21
回帖
3522

开拓者

 楼主| 发表于 2014-1-24 22:04:29 | 显示全部楼层
对了 刚看到一位仁兄这样来:
[pre lang="ruby" line="1"]'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'.length[/pre]
汗一个

然后除了ruby,其他的语言也有很多奇葩
比如最简短的源代码(长度为0!)用的是Python3.4.0b2(特别强调是3.4.0b2)
打开Python3.4.0b2就会自带提示
[pre lang="Python" line="1"]% python3.4  
Python 3.4.0b2 (v3.4.0b2:ba32913eb13e, Jan  5 2014, 11:02:52)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> [/pre]
有没有看到那个2014?

在C语言中 源代码写
[pre lang="C" line="1"];#[/pre]
编译会出错 然后提示
[pre lang="ruby" line="1"]testvc.cpp(1) : error C2014: preprocessor command must start as first nonwhite space[/pre]
呵呵

另外一个用Go语言的也是一样的思路
[pre lang="Go" line="1"]—[/pre]
[pre lang="ruby" line="1"]can't load package: package :
prog.go:1:1: illegal character U+2014 '—'[/pre]

英文原帖1L给了 有兴趣自己去看吧 ; )

点评

第一个屌爆了。。。不懂编程的表示看懂了。。。。  发表于 2014-1-27 19:14
萌新瑟瑟发抖
看到我请叫我去干活
回复

使用道具 举报

梦石
0
星屑
89
在线时间
308 小时
注册时间
2010-8-10
回帖
728
发表于 2014-1-25 15:44:50 | 显示全部楼层
余烬之中 发表于 2014-1-24 22:04
对了 刚看到一位仁兄这样来:
'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ...

我没认真看给出来的= =还有一种类似输入 a b c d  每个字母分别对应相应X的个数

点评

可能你是说Ascii码……很多人这样做 后来被禁止了  发表于 2014-1-25 16:15
回复

使用道具 举报

梦石
0
星屑
1580
在线时间
1564 小时
注册时间
2008-7-30
回帖
4207

贵宾

发表于 2014-1-25 16:34:38 | 显示全部楼层
Yujing_Z
哈哈,Ruby-China果然还有6R的人……

点评

真的诶!音挺近的(才发现|揉脸)……不过确实不是同一个人啦……  发表于 2014-1-25 17:26
哈?到底是认错了还是没有? 我看这id差不都啊……认错了的话就还真巧合了。  发表于 2014-1-25 16:47
不过帖子时间不一样的吧,而且翻译笑果也不一样……【顺便给老人请安  发表于 2014-1-25 16:41
认错人了哟~【迅速谷歌了一下然后发现我火星了……  发表于 2014-1-25 16:40

评分

参与人数 1星屑 +6 收起 理由
余烬之中 + 6 新发现+新提醒[s]+正好发完[/s ].

查看全部评分


See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复

使用道具 举报

梦石
0
星屑
3703
在线时间
3081 小时
注册时间
2011-11-17
回帖
943
发表于 2014-1-25 22:25:33 | 显示全部楼层
  a = "比♂利"=="王"
  b = a.to_s.size - (!a).to_s.size
  p (b<<b).to_s + (b>>b).to_s + b.to_s + (b<<b<<b).to_s

点评

位运算……这个算是可以的  发表于 2014-1-26 08:35
回复

使用道具 举报

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
回帖
3011
发表于 2014-1-25 23:08:11 | 显示全部楼层
print "MjAxNA==".unpack('m').first

点评

赞一个  发表于 2014-1-26 08:36
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到engshun@1ppl.me咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
回帖
1577

开拓者

发表于 2014-1-25 23:23:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
660
在线时间
1286 小时
注册时间
2011-6-14
回帖
3949
发表于 2014-1-26 19:45:48 | 显示全部楼层
本帖最后由 satgo1546 于 2014-1-26 20:07 编辑

[pre lang="ruby" line="1"]File.open("newyear.txt", "r") { |f| $number = f.read.to_i }
puts $number[/pre]然后newyear.txt里是“2014”……
  1. irb(main):002:0> %x(date /t)
  2. => "2014-01-26 星期日 \n"
复制代码
于是[pre lang="ruby" line="1"]puts %x(date /t)[0, 4][/pre]
EDIT:上面那个代码里有数字……
EDIT2:第二个代码没有数字……

新研究了一种:[pre lang="ruby" line="1"]$r = 0
"Happy new year!   ,     Yay!".each_byte { |b| $r += b }
puts $r[/pre]

[pre lang="ruby" line="1"]puts "BBC".to_i("\r".ord)[/pre]↑新加一只.w. @余烬之中
第二种重新修改了一下:[pre lang="ruby" line="1"]puts %x(date /t)[/\d\d\d\d/][/pre]

点评

好吧 另外$r = 0改为$r = "happy".to_i也可以的括弧笑  发表于 2014-1-26 20:12
顺便求签名图片出处站点  发表于 2014-1-26 20:02
三个都不合格 第一个:调用的文本文件(属于Source File)中含有数字 第二个[0,4]数字 第三个 $r = 0数字  发表于 2014-1-26 20:02
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部