Steven Haryanto wrote:
> Edwin Pratomo wrote:
>> --- Arie Kusuma Atmaja <ariekusumaatmaja@ gmail.com
>> <mailto:ariekusumaatmaja%40gmail.com>> wrote:
>>
>>>> kemarin itu adalah one liner ruby sebenarnya..
>> cuma usul aja :-)
>> kalo buat kaos/rompi, memang bagusnya cetak one-liner yg gede, taruh di
>> punggung. bukan di depan.
>> kenapa? one-liner gampang terbaca.
>>
>> nah skrg one-liner nya apaan nih. masa faktorial? hi hi..
>> usulan saya, pake ruby quine-nya ryan davis. singkat, padat, montok, berisi!
>> yg membaca pun dijamin takjub! :-)
>>> sayang:~ arie$ ruby -e 'puts (1..ARGV[0]. to_i).inject {|i,j| i*j}' 10
>> .inject is cool, tapi kalo dicetak di kaos ntar dikira berhubungan dng drugs
>> :-P
>
> usul juga. sesuai spirit pragmatism ruby, dan semangat advokasi, gimana
> kalo one-linernya sesuatu yang do something useful, do real stuff, atau
> yg at least showcase kelebihan/keunikan ruby. quine memang cute, tapi
> gak berguna dan gak spesial buat ruby.
>
> apa spesialnya ruby's:
>
> _="_=%p;puts _%%_";puts _%_
>
> vs python's:
>
> _='_=%s;print _%%`_`';print _%`_`
>
> kecuali bahwa di ruby ada "puts" dan di python tidak? :)
>
> beberapa ide/ingredient: each_{line,byte,pair,...}, beberapa metode cool
> di array/hash/string methods kayak squeeze, inject, .... metode yang
> namanya melibatkan "?" dan "!".
>
> tapi sekali lagi, hanya usul :)
sayang:~/1 arie$ ruby -e'fh = "iloveruby.txt"; File.open(fh, "w") {|f| 3.times
{|e| f.puts "#{e.succ} - III LOOOVE YOUUU RUUUBYYY" }}; if File.exist?(fh) then
puts "File sudah berhasil diciptakan Tuanku Baginda\nBerikut ringkasannya:\n";
f=File.new(fh); f.each_line("\n") {|l| puts l.squeeze!} else puts "Ampun Tuanku
Baginda\nHamba gagal melaksanakan titah Paduka, Hamba siap menjalani hukuman
pancung\n" end'
File sudah berhasil diciptakan Tuanku Baginda
Berikut ringkasannya:
1 - I LOVE YOU RUBY
2 - I LOVE YOU RUBY
3 - I LOVE YOU RUBY
sayang:~/1 arie$ ruby -e'"ruby".each_byte {|e| print e, " "}; puts'
114 117 98 121
sayang:~/1 arie$ ruby -e'h={:x => 10, :y => 30}; h.each_pair {|k,v| puts
%Q/#{k} =
#{v}/}; puts %Q~Luas = #{h[:x] * h[:y]}~'
x = 10
y = 30
Luas = 300
sayang:~/1 arie$
--
Arie || ariekeren, YM!=riyari3, http://ariekusumaatmaja.wordpress.com
http://groups.yahoo.com/groups/id-ruby
"Never say RTFM. Turn the trolls into committers", Audrey Tang -
conisli-ofun.pdf