Rubyコードの実行
code:poker.rb
# ポーカーのあらゆる手をリストする
suits = 'S', 'D', 'H', 'C' # ♠ ♦ ♥ ♣
numbers = 'A', '2', '3', '4', '5', '6', '7', '8', '9', 'X', 'J', 'Q', 'K'
(0..51).to_a.combination(5) { |a| # combinationという便利な関数がある
puts a.collect { |i|
suitsi%4 + numbersi/4
}.join('')
}
1. poker.rb を右クリックしてリンクのアドレスを取得
2. ターミナルで curl -s と入力
3. ターミナルにリンクのアドレスをペースト
4. ターミナルで | ruby と入力して実行
% curl -s https://scrapbox.io/api/code/https://scrapbox.io/api/code/prog-exercises/Ruby%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%AE%9F%E8%A1%8C/poker.rb/poker.rb | ruby
wgetの方がわかりやすいかも
ポーカーの手を全部リスト
% wget -q -O - https://scrapbox.io/api/code/prog-exercises/ポーカーの手をすべてリストする/poker.rb | ruby
フォーカードを全部リスト
% wget -q -O - https://scrapbox.io/api/code/prog-exercises/ポーカーの手をすべてリストする/poker.rb | ruby | egrep '([A1-9XJQK]).*\1.*\1.*\1'
poker.rbみたいなファイルを作る必要がないので便利!
sbrubyコマンド
code:sbruby.rb
#!/usr/bin/ruby
#
# Scrapbox上のRubyコードを実行する
# % sbruby proj page code
#
proj = ARGV0.to_s
page = ARGV1.to_s
code = ARGV2.to_s
if proj == '' || page == '' || code == ''
STDERR.puts "% sbruby project page code"
STDERR.puts "e.g. % sbruby prog-exercises ピーターの問題 peter.rb"
exit
end
cmd = "wget -q -O - https://scrapbox.io/api/code/#{proj}/#{page}/#{code} | ruby"
system cmd
code:sbruby.sample
% sbruby prog-exercises Rubyコードの実行 poker.rb
SADAHACAS2
SADAHACAD2
SADAHACAH2
SADAHACAC2
SADAHACAS3
...
? Scrapbox上のRubyコードを実行する
? コードブロックのRubyコードを実行する