RUBYの宿題教えてくだ ..
[2ch|▼Menu]
620:デフォルトの名無しさん
07/05/21 13:07:42
>>617
切り替わるとやばいかな。のちのち値を追いかけるときやばくなるとかですか。
理由をもうちっと教えてください。

621:デフォルトの名無しさん
07/05/21 13:41:35
単にムダでイヤとかそういうスタイル上の理由じゃね

str = String.new
str = "hoge"

と同じような無駄(1行目で作られたStringオブジェクトは2行目で破棄される)
何か「まずい」ことがおきることはないはずだよ

622:デフォルトの名無しさん
07/05/21 16:10:10
>>619
map使うならto_aは不要。

623:デフォルトの名無しさん
07/05/21 16:39:59
なにげにEnumerableインクルードしてるからな

624:デフォルトの名無しさん
07/05/21 16:52:02
まだやってんの蚊
お前ら人生の効率をもう少し重視したほうがいい

625:デフォルトの名無しさん
07/05/22 04:48:05
3の倍数でFizz、5の倍数でBuzz、7の倍数でFuzz、11の倍数で……

626:デフォルトの名無しさん
07/05/24 16:35:08
puts "1"
puts "2"
puts "Fizz"
 ・
 ・
 ・


じゃダメなのか?













と基本的なボケをしてみる。

627:デフォルトの名無しさん
07/05/24 19:04:31
赤点ぎりぎりで合格!

628:デフォルトの名無しさん
07/05/28 01:00:12
こんなのはやっぱり反則?
FizzBuzz.rb
1.upto(?d){|i|puts""==(a=$0[i*i%3*4-11..-4--i**4%5])?i:a}

629:デフォルトの名無しさん
07/05/28 18:03:52
ruby初心者の俺が15の倍数をチェックしないバージョンを書いてみた

def FizzBuzz(x)
 r = "Fizz" if x % 3 == 0
 r = (r||"") + "Buzz" if x % 5 ==0
 return r || x
end

1.upto(100) {|x| puts FizzBuzz(x)}

630:デフォルトの名無しさん
07/05/28 18:41:31
>>628
うちだと、nil nil nil nil ...にしかならなかった

631:デフォルトの名無しさん
07/05/28 21:42:07
ファイル名をFizzBuzz.rbにしてください。

632:デフォルトの名無しさん
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


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4676日前に更新/173 KB
担当:undef