Project1

标题: 输出2014 但代码中不允许有任何数字!(Ruby版) 【转+译】 [打印本页]

作者: 余烬之中    时间: 2014-1-24 21:51
标题: 输出2014 但代码中不允许有任何数字!(Ruby版) 【转+译】
原帖(En):http://codegolf.stackexchange.co ... in-your-source-code

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

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

3

2

1

开始!



RUBY 代码复制
  1. p Time.new.year
太简单 ;)
RUBY 代码复制
  1. Happy = Time
  2. Happy.new.year
这个不错,但是不够热情. 这样来:
RUBY 代码复制
  1. Happy = Time
  2. class Time; alias year! year; end
  3.  
  4. Happy.new.year!
哎哟不错哦~不过还有更厉害的:
RUBY 代码复制
  1. class Have; def self.a; A.new; end; end
  2. class A; def happy; Time; end; end
  3. class Time; alias year! year; end
  4.  
  5. Have.a.happy.new.year!
这个好啊!不过语法不怎么对 我平常说话可不用打点:
RUBY 代码复制
  1. def noop x = nil; end
  2. alias a noop
  3. alias happy noop
  4. alias new noop
  5. alias year! noop
  6. def Have x
  7.     p Time.new.year
  8. end
  9.  
  10. Have a happy new year!
哈哈,停不下来了:
RUBY 代码复制
  1. def noop x = nil; end
  2. eval %w[we wish you a merry christmas! christmas and a happy new].map{|x|"alias #{x} noop"}*"\n"
  3. def year!; p Time.new.year; end
  4.  
  5. we wish you a merry christmas! we wish you a merry christmas!
  6. we wish you a merry christmas and a happy new year!


祝大家新年快乐!
作者: myownroc    时间: 2014-1-24 21:55
VB用asc函数就可以了...
Ruby目测也可以
作者: 不是马甲    时间: 2014-1-24 22:03
直接获取系统年份来输出那?
作者: 余烬之中    时间: 2014-1-24 22:04
对了 刚看到一位仁兄这样来:
RUBY 代码复制
  1. 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'.length

汗一个

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

有没有看到那个2014?

在C语言中 源代码写
C 代码复制
  1. ;#

编译会出错 然后提示
RUBY 代码复制
  1. testvc.cpp(1) : error C2014: preprocessor command must start as first nonwhite space

呵呵

另外一个用Go语言的也是一样的思路
GO 代码复制

RUBY 代码复制
  1. can't load package: package :
  2. prog.go:1:1: illegal character U+2014 ''


英文原帖1L给了 有兴趣自己去看吧 ; )
作者: 不是马甲    时间: 2014-1-25 15:44
余烬之中 发表于 2014-1-24 22:04
对了 刚看到一位仁兄这样来:
'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ...

我没认真看给出来的= =还有一种类似输入 a b c d  每个字母分别对应相应X的个数
作者: DeathKing    时间: 2014-1-25 16:34
Yujing_Z
哈哈,Ruby-China果然还有6R的人……
作者: yagami    时间: 2014-1-25 22:25
  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-25 23:08
print "MjAxNA==".unpack('m').first
作者: 晴兰    时间: 2014-1-25 23:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: satgo1546    时间: 2014-1-26 19:45
本帖最后由 satgo1546 于 2014-1-26 20:07 编辑

RUBY 代码复制
  1. File.open("newyear.txt", "r") { |f| $number = f.read.to_i }
  2. puts $number
然后newyear.txt里是“2014”……
  1. irb(main):002:0> %x(date /t)
  2. => "2014-01-26 星期日 \n"
复制代码
于是
RUBY 代码复制
  1. puts %x(date /t)[0, 4]

EDIT:上面那个代码里有数字……
EDIT2:第二个代码没有数字……

新研究了一种:
RUBY 代码复制
  1. $r = 0
  2. "Happy new year!   ,     Yay!".each_byte { |b| $r += b }
  3. puts $r


RUBY 代码复制
  1. puts "BBC".to_i("\r".ord)
↑新加一只.w. @余烬之中
第二种重新修改了一下:
RUBY 代码复制
  1. puts %x(date /t)[/\d\d\d\d/]

作者: 无脑之人    时间: 2014-1-27 18:58
本帖最后由 无脑之人 于 2014-1-27 19:09 编辑
  1. print true.object_id,false.object_id,false.object_id.object_id,nil.object_id
  2. print nil.object_id*true.object_id.object_id,true.object_id*false.object_id.object_id.object_id.object_id
  3. print( (false.object_id.object_id.object_id.object_id.object_id.object_id*true.object_id).object_id.object_id.object_id.object_id*true.object_id)
复制代码

作者: fux2    时间: 2014-1-27 20:02
本帖最后由 fux2 于 2014-1-27 20:29 编辑
  1. p sprintf("%#x","CABE".hex-"AAAA".hex)
复制代码
  1. p "HappyNewYear~~\^>^/~~".sum
复制代码
方法还是很多的。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1