プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 61
https://mevius.5ch.net/test/read.cgi/tech/1503644351/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
探検
Ruby 初心者スレッド Part 62
レス数が1000を超えています。これ以上書き込みはできません。
2017/11/24(金) 00:35:29.31ID:rLZHdQ3Q
984デフォルトの名無しさん
2018/05/08(火) 04:34:33.88ID:ws+EcsEk @lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
>>> [fib(n) for n in range(16)]
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]
Ruby には、上のPython のような、デコレーターは無いの?
上はフィボナッチだが、引数・答えを、メモ化するような関数はある?
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)
>>> [fib(n) for n in range(16)]
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]
Ruby には、上のPython のような、デコレーターは無いの?
上はフィボナッチだが、引数・答えを、メモ化するような関数はある?
985デフォルトの名無しさん
2018/05/08(火) 07:23:01.16ID:6Z/Mi3tg986デフォルトの名無しさん
2018/05/08(火) 07:44:23.18ID:6Z/Mi3tg987デフォルトの名無しさん
2018/05/08(火) 09:01:44.06ID:ws+EcsEk class A
def initialize (a = 5)
@a = a
end
p (0..@a)
end
p a = A.new
>p (0..@a)
@a が初期化されていないのか、エラーになる
クラス内の地の文は、A.new・initializeよりも、先に実行されてしまうのか?
>>985-986
ありがとう
def initialize (a = 5)
@a = a
end
p (0..@a)
end
p a = A.new
>p (0..@a)
@a が初期化されていないのか、エラーになる
クラス内の地の文は、A.new・initializeよりも、先に実行されてしまうのか?
>>985-986
ありがとう
988デフォルトの名無しさん
2018/05/08(火) 09:09:56.84ID:XzXTdruW >>987
その通り。具体的にはファイルを読み込んだ時に実行されるよ
その通り。具体的にはファイルを読み込んだ時に実行されるよ
989デフォルトの名無しさん
2018/05/08(火) 12:18:20.40ID:XzXTdruW スレたてられなかったから誰か代わりに建ててくれないか
>>987
ついでだけどその書き方だと p (0..@a) の @a は A のインスタンスのインスタンス変数じゃなくて、 A という『Class クラスのインスタンス』のインスタンス変数だから注意ね
>>987
ついでだけどその書き方だと p (0..@a) の @a は A のインスタンスのインスタンス変数じゃなくて、 A という『Class クラスのインスタンス』のインスタンス変数だから注意ね
990デフォルトの名無しさん
2018/05/08(火) 14:05:39.62ID:XzXTdruW と思ったら結構前に次スレ立ってたんだね……重複しなくてよかった
https://mevius.5ch.net/test/read.cgi/tech/1523954817/
https://mevius.5ch.net/test/read.cgi/tech/1523954817/
991デフォルトの名無しさん
2018/05/08(火) 22:51:57.39ID:FvmTtIIh992987
2018/05/08(火) 23:24:38.69ID:ws+EcsEk class A
def initialize (a = 5)
@a = a
puts "init : #{@a.class}" # 1
end
puts @a.class # 2
end
p a = A.new
p b = A.new(2)
出力結果
NilClass
init : Integer
#<A:0x00000000050dc230 @a=5>
init : Integer
#<A:0x00000000050dc078 @a=2>
実行前のファイル読み込み時に、1回だけ、#2 puts が呼ばれて、
initialize内の#1 puts は、new 毎に呼ばれる
def initialize (a = 5)
@a = a
puts "init : #{@a.class}" # 1
end
puts @a.class # 2
end
p a = A.new
p b = A.new(2)
出力結果
NilClass
init : Integer
#<A:0x00000000050dc230 @a=5>
init : Integer
#<A:0x00000000050dc078 @a=2>
実行前のファイル読み込み時に、1回だけ、#2 puts が呼ばれて、
initialize内の#1 puts は、new 毎に呼ばれる
993デフォルトの名無しさん
2018/05/08(火) 23:28:50.06ID:XzXTdruW 当たり前だと思うのだが、何が言いたいのか不明
994デフォルトの名無しさん
2018/05/09(水) 00:19:25.75ID:p+TFQEkm ファイル内の空行数を数える
ruby -e "puts File.read(\'test22_data.txt\').scan(/^$/).length"
ruby -e 'puts File.read(\"test22_data.txt\").scan(/^$/).length'
Windows PowerShell で、1-liner を実行する際、
クォーテーション内に、クォーテーションがある時に、\ でエスケープしないと、
PowerShell が、内側のクォーテーションを除去してしまって、エラーになるけど、
皆こういう場合、どうしてる?
ruby -e "puts File.read(\'test22_data.txt\').scan(/^$/).length"
ruby -e 'puts File.read(\"test22_data.txt\").scan(/^$/).length'
Windows PowerShell で、1-liner を実行する際、
クォーテーション内に、クォーテーションがある時に、\ でエスケープしないと、
PowerShell が、内側のクォーテーションを除去してしまって、エラーになるけど、
皆こういう場合、どうしてる?
995デフォルトの名無しさん
2018/05/09(水) 00:37:53.06ID:aySw10Ot WindowsでRubyは苦行
996デフォルトの名無しさん
2018/05/09(水) 02:06:31.30ID:VltSHCvQ >>994
%qクォートを使う。
%qクォートを使う。
997デフォルトの名無しさん
2018/05/09(水) 08:36:03.80ID:DadRmw9B >>995
+1
+1
998デフォルトの名無しさん
2018/05/09(水) 08:36:55.27ID:DadRmw9B >>996
ほんそれ
ほんそれ
999デフォルトの名無しさん
2018/05/09(水) 08:37:56.36ID:DadRmw9B >>994
1-liner にこだわるのはなぜ
1-liner にこだわるのはなぜ
1000デフォルトの名無しさん
2018/05/09(水) 08:38:27.55ID:DadRmw9B Ruby 初心者スレッド Part 63
https://mevius.5ch.net/test/read.cgi/tech/1523954817/
https://mevius.5ch.net/test/read.cgi/tech/1523954817/
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 166日 8時間 2分 58秒
新しいスレッドを立ててください。
life time: 166日 8時間 2分 58秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 台湾有事での集団的自衛権行使に「賛成」が48.8%、「反対」が44.2% ★5 [♪♪♪★]
- 高市早苗首相、独自貫いた1カ月 会食ゼロ、議員宿舎で勉強漬け「飲んでる暇があれば、政策を練り、資料を読みたい」 [Hitzeschleier★]
- 【MLB】大谷翔平、山本由伸、佐々木朗希WBC出場辞退が確実に! トランプ大統領「ロス五輪最優先」指令 どうなる侍ジャパン [牛丼★]
- 【英FT】国土の大部分を日本の残忍な占領下におかれたという苦しみの記憶を今なお抱え続けている中国 [1ゲットロボ★]
- 岐阜発激安スーパー「バロー」横浜にオープン! [おっさん友の会★]
- 【兵庫】 “250億円寄付”の夫妻から再び申し出 福祉拠点を新設へ 宝塚市 [煮卵★]
- 【NJPW】新日本プロレスワールド part.2412
- 競輪実況★1606
- ハム専ファンフェス
- 2025 SUPER FORMULA Lap18
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap600
- こいせん 全レス転載禁止
- 【高市悲報】貿易戦争で日本は中国に勝ち目がなかった [931948549]
- 【実況】博衣こよりのえちえちKoZMy3D晩酌🧪❄🫘
- 【ござ専🏡】風間隊🥷集合でござる🏯【風間いろは🍃】
- 【悲報】日本人、突然全員高市早苗の反転アンチになる。外交勝負服発言がどうしても許せない模様 [517791167]
- 【誰でも】雑談広場★0
- 有識者「中国からのレアアースは止められても問題ない。高市さんがアメリカから買えばいい」 [834922174]
