takano32
lessの実装
(Nested
Flatten)
環境に依存するかもしれませんが、書いてみました。
Gentoo Linuxで動作確認してます。
% ruby -v
ruby 1.8.6 (2008-06-20 patchlevel 230) [i686-linux]
less準拠でjk/qが使えます。
Gentoo Linuxで動作確認してます。
% ruby -v
ruby 1.8.6 (2008-06-20 patchlevel 230) [i686-linux]
less準拠でjk/qが使えます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #!/usr/bin/env ruby
require 'curses'
lines = ARGF.readlines
index = 0
LINES = 10
Curses::init_screen
def update(index, lines)
(index..index+LINES).each do |l|
Curses::stdscr.setpos(l - index, 0)
Curses::addstr lines[l]
end
end
def search(index, lines)
word = ''
while (ch = Curses::getch) != 0x0A do
word += ch.chr
end
(index..(lines.size)).each do |l|
if lines[l].match(word) then
return l
end
end
return nil
end
update(index, lines)
while ch = Curses::getch do
case ch
when ?j
index += 1 if index < lines.length - LINES
when ?k
index -= 1 if 0 < index
when ?/
index = search(index, lines) || index
when ?q
break
end
update(index, lines)
end
|
コメントの削除
(Nested
Flatten)
Rubyの記述がなかったので、書いてみました。 # と =begin, =end しか処理していません。 # これでいいんだっけ・・・?
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/usr/bin/env ruby
block = false
ARGF.read.each do |line|
if(block && (line =~ /=end/)) then
block = false
next
end
if(block || block = (line =~ /=begin/)) then
next
end
puts line.gsub(/(.*)#(.*)/, '\1')
end
|
LL Golf Hole 2 - 文字列に含まれる単語の最初の文字を大文字にする
(Nested
Flatten)
ご指摘、ありがとうございまっす。 修正させていただきました〜。
うおっ。お恥ずかしい限り・・・ ちょっと直しておきます。orz
何はともあれ、短いコードありがとうございます!
LL Golf Hole 1 - tinyurl.comを使ってURLを短縮する
(Nested
Flatten)
この仕組みは面白いですね :-)
Rubyでも書いてみました。
see: #6891
1 | ruby -ropen-uri -e'eval open("http://ja.doukaku.org/comment/6891/download").read'
|
こそこそ・・・
1 2 3 | #! /usr/bin/env ruby
require 'open-uri'
puts *open('http://tinyurl.com/api-create.php?url=http://ll.jus.or.jp/2008/info/xgihyo')
|
おおう! あれ?でも、tinyurlを二回使おうとすると変なことに。
と思いつつ、http's':// の https://tinyurl.com/api-create.php?url=http://ll.jus.or.jp/2 008/info/xgihyo を圧縮した http://tinyurl.com/6hyq2m でアクセスしてみたら・・・キター(笑
TinyURL APIとな!?
see: open-uri - Rubyリファレンスマニュアル
1 | ruby -ropen-uri -e "puts open('http://tinyurl.com/api-create.php?url=http://ll.jus.or.jp/2008/info/xgihyo').read"
|
回答例が異様に長くてすみません〜。趣旨のご理解ありがとうございます。
まさにそういう感じのコードを待ってました!ありがとうございます!
リストを逆順に表示
(Nested
Flatten)
再帰呼び出しを使ってみました。
1 2 3 4 5 6 7 8 | def rev(list)
unless list.empty? then
puts list.pop
rev(list)
end
end
rev(given_list)
|
HTTPでGET
(Nested
Flatten)
gawkなのだぁ!
1 | gawk 'BEGIN{while(("GET http://ja.doukaku.org/feeds/comments/ /inet/tcp/0/ja.doukaku.org/80" |& getline) > 0) {print $0}}'
|
ピラミッドを作る
(Nested
Flatten)
Hashを使って書いてみました.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | max = 4
p = Hash.new('*')
(1..max).each do |i|
(1...max).each do |j|
if i <= j then
p[i] = " #{p[i]} "
else
p[i] = "*#{p[i]}*"
end
end
end
(1..max).each do |i|
puts p[i]
end
|
条件を満たす行を取り除く
(Nested
Flatten)
考え方は同じですが,Rubyっぽくなるように心がけてみました
1 2 3 | ARGF.read.each_line do |line|
puts line unless line.index('#') == 0
end
|
Hello, world!その2
(Nested
Flatten)
8進数を使ったものです.
1 | ruby -e 'puts "\110\145\154\154\157\54\40\167\157\162\154\144\41"'
|



takano32
#7586()
[
Ruby
]
Rating0/0=0.00
同じようなアルゴリズムをRubyで書いてみましたが、イマイチ・・・to_i, to_i, to_s, to_i ...
Rating0/0=0.00-0+