Ruby 初心者スレッド Part 56©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net
2014/12/13(土) 09:29:12.93ID:DLY4IovQ質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 55
http://peace.2ch.net/test/read.cgi/tech/1403361584/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
0381デフォルトの名無しさん
2015/01/18(日) 11:47:12.82ID:g7at9IyQ最近はrubyでも副作用は嫌われる傾向にあるので、
bbは渡された配列を変更せず新しい配列を返す実装にすべき。
bbの実装が変更できずやむを得ない場合は>380
0382デフォルトの名無しさん
2015/01/18(日) 12:12:41.32ID:YQ/T1PKNbbが引数の内容を変更するってことはその変更された結果を後で使うんだろ?
ならコピーして渡したところで意味がないんじゃないの?
もしくはbbが引数を変更しつつまた別の結果を戻り値として返したり別の場所に副作用を起こすような意味不明な仕様なのか?
0383デフォルトの名無しさん
2015/01/18(日) 14:22:54.74ID:AMauTogubb(ary.dup)
でいいよ
配列をコピーするというメソッドはあるが記法はない
0384デフォルトの名無しさん
2015/01/18(日) 14:52:01.11ID:QxSzEZO/0385デフォルトの名無しさん
2015/01/18(日) 15:02:37.63ID:AMauToguダメとだけ書いても理解されない
0386デフォルトの名無しさん
2015/01/18(日) 16:17:34.94ID:UJDOWW1C0387デフォルトの名無しさん
2015/01/19(月) 00:38:55.11ID:kt81hAibrubyで遊ぶのに適した環境てやっぱりlinuxですか?
winのrubyを触ってて楽しいなと感じていたんですが、gemで蹴られたり、エンコードに癖があったりで
章を進めるにしたがい不便を感じ初めています。
最初からlinuxを選択するべきか悩みましたが
linxについてまるで経験がないので、rubyの前にlinux仕様を覚えなければならない手間の増加に腰が引け・・・winを選択したしだいです。
rubyを始めたばかりなので、「まずrubyの足元」を固めたい。
そのために「ハードルを下げたい」のですが
OSの選択と開発環境について何かアドバイスがあればお願いします。
独学で相談する相手もいないので、ubutuにしようか、winで続けようか、それともCentOs・・悩んでいます
(手違いで2ch.scに投稿したので2ch.netに書き直しです。.scは.net側から読めないため移動しました)
0388デフォルトの名無しさん
2015/01/19(月) 00:54:14.54ID:hwzu+AsPエンコードってそんなに面倒かな?
0389デフォルトの名無しさん
2015/01/19(月) 01:05:43.71ID:kt81hAib対処法を「探しあてる」までちょっと面倒だったりします。
まだ参考コードを片手に本と画面のにらめっこの段階なので・・・
参考コードをタイプして動かないと時間と精神的に・・・
0390デフォルトの名無しさん
2015/01/19(月) 01:15:33.96ID:m1sXYci2文法に慣れて標準ライブラリをいくつか使えるようになってからで十分
0391デフォルトの名無しさん
2015/01/19(月) 01:42:43.59ID:QnWCi45e目的もなく勉強しても身につかない
0392368
2015/01/19(月) 03:02:48.75ID:aeY3ubQMdef bb(ary)
ここで配列を変更しながら、何回かbb()を呼ぶ
bb(ary)
end
ハノイの塔・将棋などのゲームの手順などを、
深さ優先のスタックの代わりに、
再帰関数で実装しているので、
個々の関数の中では、配列を変更するのだが、
別々の配列を使う方が、
変更した配列を捨てるだけでよいので、
元に戻す手間が省ける
>>387
漏れはWin8なので、TeraPadで書いて、
ttps://paiza.io/
にコピペして、実行している
0393デフォルトの名無しさん
2015/01/19(月) 07:44:53.64ID:eQbtjaRRもろ初心者ね
0394デフォルトの名無しさん
2015/01/19(月) 08:01:08.16ID:UWF/JaigWebがやりたいんだったらRuby云々よりも運用知識の方が重要なくらいだから
当然実際の稼働環境(UNIX系)となるべく似た環境で開発しないと意味がないし、
Winから他へ乗り換える予定もUNIXで何か運用する予定もないならLinuxで開発しても仕方ないだろう
言語なんかたかが道具だよ
0395デフォルトの名無しさん
2015/01/19(月) 09:42:39.75ID:aeY3ubQMRubyをすること自体が目的
そんな小難しい話はいらない
Let's Ruby!
Ruby, Matz、鳥取・島根 万歳!
ここは初心者スレだから、難しい話をする人は、
もう一つのスレの方でやって
0396デフォルトの名無しさん
2015/01/19(月) 10:44:00.79ID:D2Bly1oFたとえば『作りながら学ぶRuby入門』は Windows/Mac OS X 対応だったよ。
0397デフォルトの名無しさん
2015/01/19(月) 19:14:10.29ID:UWF/JaigVirtualBoxのインストールから始まる本が多いけどなw
0398デフォルトの名無しさん
2015/01/19(月) 19:44:38.39ID:m1sXYci2書くのも読むのも苦痛だからな・・・
0399デフォルトの名無しさん
2015/01/19(月) 22:45:58.11ID:kJb8u5XbWindowsでも無価値ではないぞ。俺はShellscript代わりに重宝している。
Rubyとしては邪道な使い方かもしれんがそれでも
PowerShell人口よりは多いだろうよ・・・
0400デフォルトの名無しさん
2015/01/20(火) 04:05:02.59ID:ce3GiAbDf.puts line.chomp!
end
ちょっぷしてぇええ!!
0401368
2015/01/20(火) 06:11:14.89ID:tR2SZl1Mx = aa[0..100]
xx = aa[0..-1]
aa[1] = 'B'
p aa #=> [1, "B", 3]
p x #=> [1, 2, 3]
p xx #=> [1, 2, 3]
うおー![0..-1][0..100]など、
終わりのインデックスを、-1か、
最後の要素より、大きい数字を入れたら、
すべての要素が簡単にコピーできる!
0402デフォルトの名無しさん
2015/01/20(火) 07:02:00.36ID:quI2Csppそれ配列が空だったらエラーになるから一貫性のない頭の悪い方法
0403デフォルトの名無しさん
2015/01/20(火) 07:24:19.26ID:q7S0YejK0404402
2015/01/20(火) 07:36:46.41ID:quI2Cspp頭の悪いのは俺だった
0405デフォルトの名無しさん
2015/01/20(火) 07:45:02.30ID:Y4m7VuCx0406デフォルトの名無しさん
2015/01/20(火) 08:14:30.35ID:tR2SZl1Mdef bb
cc = 'A'
p cc #=> A
end
bb
p cc #=> 1
Rubyでは内外のccが、別々の変数(スコープ)となる
外側で宣言したccを、簡単に関数の内側で使いたいが、
どうすればよい?
ただし、グローバル変数以外で
0407デフォルトの名無しさん
2015/01/20(火) 08:33:36.19ID:quI2Cspp簡単じゃないだろうけど避けて通れない道
0408406
2015/01/20(火) 08:55:45.97ID:tR2SZl1Mcc = 1
# トップレベルで、define_methodを呼び出す
Kernel.send :define_method, :bb do
# def bb
cc = 'A'
p cc #=> A
end
bb
p cc #=> A
def bb の代わりに、
トップレベルで、define_methodを呼び出すと、
Kernel.send :define_method, :bb do
内外のccが、同一の変数(スコープ)となった
0409デフォルトの名無しさん
2015/01/20(火) 10:07:56.04ID:mp2703SQcc = 1
bb=->{
cc = 'A'
p cc #=> A
}
bb.call
p cc #=> A
0410406
2015/01/20(火) 11:21:08.26ID:tR2SZl1Mたくさんあるのよ
それらをすべて簡単に、関数の内側で使いたい
0411デフォルトの名無しさん
2015/01/20(火) 11:54:53.29ID:Y4m7VuCx0412406
2015/01/20(火) 12:47:13.19ID:tR2SZl1M配列の各要素をコピーしないから、
同一の配列を変更していて、
それに気づくまで、延々とはまった
関数の中で、すべての要素をコピーすればよいのか?
def aa(ary)
xx = ary[0..-1]
end
0413デフォルトの名無しさん
2015/01/20(火) 13:33:23.01ID:h23euKpJちゃんとレス読めよ
0414406
2015/01/20(火) 13:47:50.26ID:tR2SZl1M関数の中で、配列を変更しないように、
気をつけているが、それもすぐに忘れてしまう。
どこかで、代入してしまう
それだけ無意識で、コーディングが速い。
無想の境地。Ruby 恐るべし
0415デフォルトの名無しさん
2015/01/20(火) 13:54:47.99ID:M5BHFTcG0416デフォルトの名無しさん
2015/01/20(火) 15:33:53.92ID:e9cTGLx20417406
2015/01/20(火) 17:24:06.78ID:tR2SZl1M["A", "B", "C", "D"]
["AB", "B", "C", "D"]
ttps://paiza.io/
で実行しているが、p で表示すると、
いつの間にか配列の'A'が、'AB'に変わってしまう。
配列に代入している箇所は無い
環境のバグ?
それにそもそも、大文字で始まる変数名は、
定数じゃないのか?
トップレベルで、define_methodを呼び出して、
関数外で定義した配列を、関数内で使っているから?
さらに、この関数は再帰関数なのです
Kernel.send :define_method, :go do |
per_ary, layer=0, total_time=0 |
元の配列を変更しないように、
すべての要素をコピーして、関数に渡しているのですが、
ary2 = Person_ary[0..-1]
go(ary2)
0418デフォルトの名無しさん
2015/01/20(火) 17:25:29.93ID:7ow9yZfBruby上で配列として実行したいんですがうまくいきません。何か良い方法はありますか?
0419デフォルトの名無しさん
2015/01/20(火) 17:45:03.42ID:q7S0YejKちょっと状況がよくわからない
配列を標準出力に出力するスクリプトがあってそれをRubyスクリプトで受け取りたいのか
それともRubyスクリプトに定義してある配列を他のRubyスクリプトでも使いたいのか
それともそれ以外?
0420デフォルトの名無しさん
2015/01/20(火) 17:56:37.98ID:7ow9yZfBruby側で"[[1,2],[3,4]]"という状態で受けた文字列を
そのまま配列として使いたいのですがうまくできません。
0421406
2015/01/20(火) 18:05:32.81ID:tR2SZl1MKernel.send :define_method, :go do |
per_ary, layer=0, total_time=0 |
トップレベルで、define_methodを呼び出すのをやめて、
def go(per_ary, layer=0, total_time=0)
このように普通の関数に戻して、
関数内で使う変数を、すべてグローバル変数に替えたが、
やはり同じ現象が起こる。原因不明
0422デフォルトの名無しさん
2015/01/20(火) 18:09:03.35ID:bOdKTSkA例えば
ary = ("A".."D").to_a
ary2 = ary.dup
ary2[0] += "B"
だとary2だけ変更されるけど
ary2[0] << "B"
とか
ary2[0].downcase!
だと両方変更される
この時、aryとary2は別の配列オブジェクトだけど、それで参照される要素は同じオブジェクトだから
代入なら一方だけしか変更されないけど、参照されるオブジェクトの破壊的メソッドを呼び出すと両方変更される
定数が定数じゃないのはrubyの仕様
0423デフォルトの名無しさん
2015/01/20(火) 18:12:22.71ID:tR2SZl1Mそのまま変数に代入できないの?
.to_a は?
ary = ('A'..'D').to_a
["A", "B", "C", "D"]
0424デフォルトの名無しさん
2015/01/20(火) 18:15:39.95ID:M5BHFTcGevalじゃダメなの?
0425デフォルトの名無しさん
2015/01/20(火) 18:24:07.45ID:7ow9yZfBありがとうございます。
evalあったんですね(^_^;) あっさりできました。
ずっと#{ }でなんとかするのかと格闘してました。スレ汚しすみませんでした。
0426406
2015/01/20(火) 18:54:32.80ID:tR2SZl1Mary2 = $Person_ary[0..-1]
go(ary2)
このgoが再帰関数になっていて、引数に配列を渡していくから、
ずっと同じ配列をいじくっているのかな?
ary2 = $Person_ary[0..-1]
でもこの文で、すべての要素がコピーされて、
ary2と$Person_aryは、別々のオブジェクトにならないの?
0427406
2015/01/20(火) 19:10:13.93ID:tR2SZl1M>ary2 = $Person_ary[0..-1]
>でもこの文で、すべての要素がコピーされて、
>ary2と$Person_aryは、別々のオブジェクトにならないの?
object_idは異なっていた
0428デフォルトの名無しさん
2015/01/20(火) 19:11:36.56ID:bOdKTSkAary2[0]とPerson_ary[0]のオブジェクトIDを調べてみ
0429デフォルトの名無しさん
2015/01/20(火) 19:19:52.78ID:jzLWySUR答えてもらっても実践しないなら初めから質問なんかしなければいいのに。
0430406
2015/01/20(火) 19:39:26.27ID:tR2SZl1Mary2と$Person_aryの、object_idは異なっていたが、
ary2[0]と$Person_ary[0]の、object_idは同じだった!
もう気が狂いそう。爆発します
カタカタ、カタカタ、カタ、ドッカーン!
0431デフォルトの名無しさん
2015/01/20(火) 19:48:41.70ID:I5Fz89mC0432デフォルトの名無しさん
2015/01/20(火) 19:48:48.59ID:5Fj8tUhx>>422の人が丁寧に解説してくれてるだろ
0433デフォルトの名無しさん
2015/01/20(火) 19:51:03.94ID:q7S0YejK弁護はまかせろ
0434406
2015/01/20(火) 19:57:22.33ID:tR2SZl1Mでは、aa[1]に代入しても、
配列x,xxは変化しなかったのに、なぜ、
>>430 のような事が起きるの?
aa[1]に代入した瞬間に、
別のオブジェクトが作られるのかな?
aa = [1, 2, 3]
x = aa[0..100]
xx = aa[0..-1]
aa[1] = 'B'
p aa #=> [1, "B", 3]
p x #=> [1, 2, 3]
p xx #=> [1, 2, 3]
0435デフォルトの名無しさん
2015/01/20(火) 20:05:02.74ID:5Fj8tUhxだから>>422読めっての
0436406
2015/01/20(火) 20:19:04.50ID:tR2SZl1Mすべての要素をコピーして、関数に渡しているのですが、
Person_ary = ('A'..'D').to_a
ary2 = Person_ary[0..-1]
go(ary2)
def go(per_ary)
go(再帰関数に、また別の配列を渡す)
end
どこで、ary2, per_aryを変更しているのか、
変更箇所が見当たらない
そして知らぬ間に、まるで魔法のように、
Person_aryの'A'が、'AB'に変わってしまう
["A", "B", "C", "D"]
["AB", "B", "C", "D"]
0437デフォルトの名無しさん
2015/01/20(火) 20:25:57.00ID:JNlE/+5w首の上にカボチャでも載せてんですか
0438デフォルトの名無しさん
2015/01/20(火) 20:28:40.86ID:w3vLPuuc答えても無視して同じ質問ダラダラ繰り返すんだから邪魔で仕方がない
0439デフォルトの名無しさん
2015/01/20(火) 20:32:23.61ID:7DC6CjZy>>349あたりから読んでも同じことが言えるかな?
0440デフォルトの名無しさん
2015/01/20(火) 20:35:37.31ID:JNlE/+5w頭がついてないか空洞なんだと思ったけど違ったか?
0441デフォルトの名無しさん
2015/01/20(火) 20:36:27.21ID:7DC6CjZy0442デフォルトの名無しさん
2015/01/20(火) 20:44:23.29ID:q7S0YejK>>425
念のためだけど外部からの入力にevalしないでね
eval "[1, 2, `del yourfile`]" とかで死ぬから
0443デフォルトの名無しさん
2015/01/20(火) 21:24:14.75ID:4I0Y1qEsinclude Math
とするとyardの中にもMathにもlogというメソッドがあるため不具合が生じてしまいました
yardのlogはほとんど使わないしまた使われてもいないのでファイル中のlogを別の名前に置き換えて対処しているのですが、とても良い方法とは思えません
何かうまい方法はないでしょうか?
0444406
2015/01/20(火) 21:53:24.90ID:tR2SZl1M#=> ["A", "B", "C", "D"]
ary2 = $Person_ary[0..-1]
go(ary2)
def go(per_ary)
combi = per_ary.combination(2)
combi.each_with_index do |p_ary, i|
# per_ary[0] → p_ary[0]は同じobject_id
per_0 = p_ary[0]
何でこの代入が(値は'A')、同じオブジェクトやねん!
これぐらい別のオブジェクトにしろよ
$Person_ary[0] → ary2 → per_ary[0]
→ p_ary[0] → per_0
なんと、これらがすべて同じobject_id
per_0 << 'B'
per_0には'A'が入っているが、
最後にこれらがすべて、'AB'に変わってしまう!
ここまですべてが同じオブジェクトだって、誰がわかる?
0445デフォルトの名無しさん
2015/01/20(火) 22:03:00.40ID:tR2SZl1Mその関数だけ、
モジュール名を付けて呼び出せないの?
Math::log
0446デフォルトの名無しさん
2015/01/20(火) 22:06:10.20ID:B3TactEM恐らく誤って変更してしまっているのは配列ではなく、文字列のほう。
Rubyの文字列は変更可能。そして += と << が等価ではないのもそれに起因する。
「str<<式」はstrが参照する文字列自体を変更する。
「str+=式」はstr+式の新たな文字列を作成し、strが新たな文字列を参照するように変える。
0447デフォルトの名無しさん
2015/01/20(火) 22:10:24.86ID:4I0Y1qEsrequire 'foo'
require 'bar'
実際は上のように使っていて、
fooではrequire 'yard'、barではinclude Mathしており
どっちもモジュール名などを付けずに書かれているので困っているのです。
0448デフォルトの名無しさん
2015/01/20(火) 22:10:58.55ID:OvbknBRr文字列の変更可能性と定数の扱いで混乱しちまう。
0449デフォルトの名無しさん
2015/01/20(火) 22:14:39.33ID:q1aCw1+q初心者が嵌りやすいトラップだ。いい勉強になって良かったね
昔ruby trapっていうドキュメントがあったけど無くなっちゃったのか?
0450406
2015/01/20(火) 22:28:19.59ID:tR2SZl1Mcombi.each_with_index do |B, i|
C = B[0]
A[0] → B[0] → C
文字列が入っているとして、
これらが同じobject_idなのは、予想できんわ
0451デフォルトの名無しさん
2015/01/20(火) 22:33:30.37ID:mp2703SQ0452デフォルトの名無しさん
2015/01/20(火) 22:35:08.90ID:mp2703SQポインタの配列をコピーしても中身はコピーされないし
ポインタ自体をconstにしても参照先は書き換え可能だし
0453デフォルトの名無しさん
2015/01/20(火) 22:45:19.24ID:LYCYgqf6YARD が「トップレベル」の名前空間でメソッド log を宣言しているのが問題だね
さらに bar でも「トップレベル」でモジュール Math をインクルードしているから、
名前 log が衝突していると ....
YARD と bar、どちらの作者ともに作品がライブラリとして再利用される事に対する
想像力が欠けていた、あるいは思慮が足りなかったと言うしかない
もしも bar を作ったのが >>447 自身であるなら、
bar 全体を独自のモジュールとして定義し、
その中で Math をインクルードすれば衝突を回避できる(Math.log が優先される)
module Foo; include Math; .... end
そうでないなら、お手上げだなあ
0454デフォルトの名無しさん
2015/01/21(水) 01:22:41.56ID:nNlZ8uj4http://jbbs.livedoor.jp/study/3729/storage/1069408696.html#82
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
この掲示板に優秀な書き込みをして、総額148万円の賞金をゲットしよう!(*^^)v
0455デフォルトの名無しさん
2015/01/21(水) 01:57:16.89ID:xWoGAr8y特に2次元で初期化しようと思ってうまく出来た事がない。
いつも結局バカみたいに代入することになる。
0456デフォルトの名無しさん
2015/01/21(水) 02:41:54.86ID:/GBHGoCO多次元の初期化は手間がかかって困る
0457デフォルトの名無しさん
2015/01/21(水) 03:15:12.53ID:qBatZcehイテレーター使ってる?
二次元配列を
Array.new(10, Array.new(3))
みたいにやっても駄目
Array.new(10){Array.new(3)}
ならちゃんと二次元配列になる
上の書き方だとArray.new(3)が呼び出されるのは一回だけで、その一つのオブジェクトをすべてが参照してる状態になってる
下だと要素の数分Array.new(3)が呼び出されて、それぞれが別のオブジェクトを参照してる状態になる
0458デフォルトの名無しさん
2015/01/21(水) 04:27:38.93ID:Jm/vxooPirb(main):001:0> mtx = Array.new(3) { |y| Array.new(2) { |x| [x, y] } }
=> [[[0, 0], [1, 0]], [[0, 1], [1, 1]], [[0, 2], [1, 2]]]
irb(main):002:0> puts mtx.map { |xs| xs.map {|(x, y)| format("(%d, %d)", x, y )}.join(', ') }.join("¥n")
(0, 0), (1, 0)
(0, 1), (1, 1)
(0, 2), (1, 2)
=> nil
irb(main):003:0>
0459デフォルトの名無しさん
2015/01/21(水) 11:01:19.39ID:NFFhaRBc>念のためだけど外部からの入力にevalしないでね
>eval "[1, 2, `del yourfile`]" とかで死ぬから
ありがとうございます。
そんな高度な事はしてないので問題ないのですが、考えてみると怖い命令ですね。
0460デフォルトの名無しさん
2015/01/21(水) 12:30:39.60ID:aA1tn61G0461デフォルトの名無しさん
2015/01/21(水) 21:20:45.16ID:UODHxGjGゆえにnilの代わりにカラ配列を使ってるような構造には弱い。
0462デフォルトの名無しさん
2015/01/21(水) 23:32:42.08ID:2ayQ13oI大抵は
(1..n).map{|i|(1..m).map{|j| i+j }}
みたいにmapで作るわ
0463デフォルトの名無しさん
2015/01/21(水) 23:46:58.80ID:e6Du7UL/関数型スタイルに近づくと配列をインプレースで更新すること自体あんまりやらなくなるからな
0464デフォルトの名無しさん
2015/01/22(木) 23:36:58.70ID:7mvG+vzBnilだとmethod_missingになっちまうし。
俺はnil?で場合分けする方が特異に感じる。
0465デフォルトの名無しさん
2015/01/23(金) 00:28:00.11ID:jEuXrIMXそうじゃなくて、使うときに作るんだよ
大抵、事前に配列を初期化する必要があるのは配列作った後で中身を更新する場合だ
0466デフォルトの名無しさん
2015/01/23(金) 07:55:08.06ID:0oMxYtZz亀だけど、他スクリプトの文字列配列を“任意記号でつなげた単なる文字列”にしといて、受け取る側でsplitする方法もある
多少面倒臭いけどeval乱用しなくて済むと思う
0467デフォルトの名無しさん
2015/01/23(金) 08:03:28.83ID:4FZvpJWIぜひ標準で欲しい
0468デフォルトの名無しさん
2015/01/23(金) 10:26:57.08ID:kLOpfBTA文 if 条件2
end
if修飾子(後置if)
これでも、文の構造を間違わないのには感心する。
たぶん、if,endの数を数えているのだろう
それに、++,-- のインクリメント・デクリメントが無い。
グローバル変数には、'$'を付ける。
内側のスコープで、外側の変数を使えない
これらにより、ややこしい間違いを防げるなど、
Matzはよく考えているな
0469デフォルトの名無しさん
2015/01/23(金) 11:33:14.50ID:jEuXrIMX初心者向けの本一冊読めば>>468でも作れるよ
0470デフォルトの名無しさん
2015/01/23(金) 15:30:18.97ID:rINQxVSH対処として本家メーリングリストを覗いてみたのですが・・
お馬鹿な質問してる人はほぼいないので迷惑がかかりそう・・
いまの対処法はサンプルコードを時間をかけて探す・・
その中に理解できないのがコードがあると、さらに積み重なり・・・ それを調べるとどんどんと深みにハマっていき
いったい何を探しているのか・・・ 泥縄式
0471デフォルトの名無しさん
2015/01/23(金) 15:36:10.47ID:ca5XUMYE0472デフォルトの名無しさん
2015/01/23(金) 16:06:21.22ID:3yNzan63答えられるかわからないけどためしに質問してみては
0473デフォルトの名無しさん
2015/01/23(金) 16:15:03.63ID:uMcR+6pK何か作りたいものを決めて、どうやって作るかという観点で学習したほうが速いと思う。
0474デフォルトの名無しさん
2015/01/23(金) 17:08:49.68ID:kLOpfBTA漏れが今から、初心者としての手本を見せてやろう↓
=begin
〜
〜
=end
ファイルAの中で、=begin,=endで囲まれた部分を、
すべて除いたものを、ファイルBに出力したい
そういうツールある?
無ければ、誰かソースコードを書いて!
お願いしま〜す
0475デフォルトの名無しさん
2015/01/23(金) 17:21:36.65ID:3yNzan630476474
2015/01/23(金) 17:39:05.42ID:kLOpfBTA>>470
ほらね。ものの10分ほどで、
誰かが書いてくれまっしゃろ
ttps://paiza.io/
そしてこれをここにコピペして、実行しますのよ
0477デフォルトの名無しさん
2015/01/23(金) 17:45:50.50ID:flsP1yuaコード読むとかまじめ過ぎんよ
0478デフォルトの名無しさん
2015/01/24(土) 07:15:10.75ID:CE2XF3sB0479デフォルトの名無しさん
2015/01/24(土) 10:28:15.06ID:sa+x1Xzypure windowsは諦めてvagrant使うのが一番手っ取り早い
0480デフォルトの名無しさん
2015/01/24(土) 17:50:50.26ID:zRrZ/E6bRuby開発者・まつもとゆきひろ氏の新言語「Streem」のソースコードを読んでみよう! 〜 文法と構造を規定する「lex.l」と「parse.y」
0481デフォルトの名無しさん
2015/01/24(土) 22:42:20.52ID:sZsKSyLoとおもったら言語設計の学習向けサンプルか
■ このスレッドは過去ログ倉庫に格納されています