07/05/28 21:50:44
ファイル作るの面倒だったのでirbで無理矢理動かした。
>> $0 = 'FizzBuzz.rb'
>> 1.upto(?d){|i|puts""==(a=$0[i*i%3*4-11..-4--i**4%5])?i:a}
動作確認には十分。
633:デフォルトの名無しさん
07/05/28 22:09:33
普通に、"FizzBuzz"[i*i%3*4-8..-1--i**4%5] でよさそうなもんだが。
634:デフォルトの名無しさん
07/05/29 20:36:53
書き換えるのが面倒だったの
635:デフォルトの名無しさん
07/05/30 17:02:25
>>629-634
そういうことかww
やっときづいた
636:デフォルトの名無しさん
07/06/06 15:42:44
a = [1, 2, 0, 3, 4, 5]
配列の一番後ろを得たいときは、
a.last
だよな?
後ろから2番目、3番目を得たいときは、どうするんだ?
a[a.size - 2]
しかない?
a.last(2)
は違うし・・・
637:デフォルトの名無しさん
07/06/06 15:49:18
irb> a = [1, 2, 3, 4, 5]
=> [1, 2, 3, 4, 5]
irb> a[-2]
=> 4
638:デフォルトの名無しさん
07/06/06 15:59:27
-1がlast
last一つ前は-2
639:デフォルトの名無しさん
07/06/06 16:03:16
>>637-638
インデックス、マイナスにできたのか。しらなかた
reverseしてから、アクセスとかやってた。
サンクスでう。
640:デフォルトの名無しさん
07/06/11 02:35:33
stringをarrayにする簡単な方法はないですか?
やりたいことは、arrayにして、sortしたいのですが・・・
s.to_aは行ごとだし・・・
641:デフォルトの名無しさん
07/06/11 02:38:56
srand
s = "hogemoge"
a = []; s.each_byte {|l| a << l.chr}
pp a.sort_by{ rand }.to_s
実際書いてみると、以外に短かかったw
642:デフォルトの名無しさん
07/06/11 03:43:29
s.split(//).each
643:デフォルトの名無しさん
07/06/11 07:53:28
確かに str.split(//e) が妥当だ(e は str の文字コード)
1文字ずつぶった切って配列にしてるんだなと読み下してもくれるし
644:デフォルトの名無しさん
07/06/11 16:10:21
s.scan(/./)
s.split(//)
同じ長さだったか。
645:デフォルトの名無しさん
07/07/08 19:59:06
パスカルの3角形を印字するプログラムを
作りたいのだが以下のプログラムで作るにはどうしたらいいのでしょうか?
教えてください。
print("Enter n: "); n = gets.chomp.to_i
if( n>30 || n<0 ) then
n = 10
end
a = Array.new( n )
a[0] = [1] # 要素が1 の長さ1の配列
# ここでパスカルの3角形を作る
# このとき、a[i]ごとに配列を作る
# そして、印字
for i in (0..a.length-1) do
for j in (0..a[i].length-1) do
print( " ", a[i][j] )
end
print( "\n" )
end
646:デフォルトの名無しさん
07/07/09 06:58:16
マルチ乙
647:デフォルトの名無しさん
07/07/09 08:18:09
そんな事よりカレーの話しようぜ
648:デフォルトの名無しさん
07/07/09 14:54:25
宿題スレ行け→マルチ乙
これはひどい
649:デフォルトの名無しさん
07/07/09 16:07:04
回答してはいけないという空気?
650:デフォルトの名無しさん
07/07/09 16:25:33
いや、いいんじゃない?
マルチと誤解されないためには、前スレに移動する由を書いとけばいい
651:デフォルトの名無しさん
07/07/09 16:39:33
それこそ「宿題スレのほうがいい」というアドバイスを受けたからこっち来たんだろ
移動した旨は移動時に既にあっちに書いてあるし、イジられる以上の非難を受ける謂れは無いと思われ
652:デフォルトの名無しさん
07/07/09 18:09:50
じゃ、とりあえず。いろいろ宿題の中身無視してるけ、どこんな感じで。
class Array
def next_pascal
next_pascal = Array.new
next_pascal << self[0]
self[0..-2].each_index do |i|
next_pascal << self[i] + self[i + 1]
end
next_pascal << self[-1]
end
end
p = [1]
10.times do
puts p.join(' ')
p = p.next_pascal
end