トップページ⇒tech
1002コメント382KB

Ruby 初心者スレッド Part 59 [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2016/10/02(日) 16:50:38.72ID:kFeo4TbM
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で

前スレ
Ruby 初心者スレッド Part 58
http://echo.2ch.net/test/read.cgi/tech/1458735404/

るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/

Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/

逆引きRuby
http://www.namaraii.com/rubytips/
0153デフォルトの名無しさん2016/11/05(土) 16:07:31.56ID:3jWRFMI3
>>152
言語仕様の話を始めたのは俺じゃないし。
言語仕様でなければ実現不可能だろうけど
別に言語仕様である必要はない。

JavaScriptなんて言語仕様になったけれども、対応してないブラウザでも
使えるようにするために、トランスラパイラを文法を変換したりしているからね。
Rubyの世界でもそういう改良版Rubyを使うとかいう方法でもいいのよ。

ようはより短く書く方法を探しているだけ。
0154デフォルトの名無しさん2016/11/05(土) 16:09:40.54ID:9rWJk3qM
>>153
>ようはより短く書く方法を探しているだけ。
だったら他の話には反応しなくて良いんだよ

ところでクロージャーみたいなのの話はどうでもいいんだろうか
俺答え損だった?
0155デフォルトの名無しさん2016/11/05(土) 16:26:05.09ID:3jWRFMI3
> 俺答え損だった?

その答え自体は知ってたけど、
それがRubyでの一番短い書き方だって
わかったので無駄ではないよ。

lambda とか call とかいう単語を
省くことは出来ないのね。
0156デフォルトの名無しさん2016/11/05(土) 16:34:09.52ID:g4s/HAgH
>>155
> lambda とか call とかいう単語を
> 省くことは出来ないのね。
だからなに?
質問じゃないじゃん
JavaScriptに有利な例題だけあげてJavaScritpマンセーしてるだけじゃん

そういうのは別スレでやれ
0157デフォルトの名無しさん2016/11/05(土) 16:36:52.31ID:p7aXJL/r
っ CoffeeScript
0158デフォルトの名無しさん2016/11/05(土) 16:57:35.17ID:u9ZZUUBm
>>145
いつの話だよ
今のRubyはRailsのせいでHashまみれの糞ビッチだよ
0159デフォルトの名無しさん2016/11/05(土) 17:18:22.74ID:3jWRFMI3
>>156
> 質問じゃないじゃん

え? 質問は>>149に書いたとおり
クロージャーみたいなのを簡単に書く方法ですが?

なんで質問に対する回答にコメントを
質問だって勘違いしてるの?

それとも回答にコメントしたらいけないって
言いたいのかな?
0160デフォルトの名無しさん2016/11/05(土) 17:25:06.81ID:3jWRFMI3
>>156
> JavaScriptに有利な例題だけあげてJavaScritpマンセーしてるだけじゃん

普段JavaScriptで書いていて、JavaScriptでもっと短く書くことができる。
無駄のないコードを書くのが好きなのでRubyでももっと短く書きたい。

Rubyは初心者だが、プログラミングは初心者ではなく検索能力もあるので
Rubyで同等またはRubyの方が短く書くことができるものであれば
大抵はすぐに見つけてしまう。だからそういうものは質問しない。

仮にRubyではそれができないのであれば検索しても見つかるはずがない。
見つかったものは質問しないが、見つからないものは質問するしかない。

だから単に俺が見つけられないものを質問しているだけなんだが、
それが結果的にRubyでは無理なことになってしまってるだけだよ。
0161デフォルトの名無しさん2016/11/05(土) 17:42:40.29ID:u9ZZUUBm
lambdaは->とも書ける
俺は書く位置が気持ち悪くて大嫌いだけどね
Rubyが独立した関数式を持たないのは有名な欠点として昔から言われてることなので、今更言われてもそうだね不便だねとしか
0162デフォルトの名無しさん2016/11/05(土) 17:55:37.24ID:3jWRFMI3
http://qiita.com/sudahiroshi/items/c51618dec0f56a54670e

> # 引き数が1つ
> foo = -> ( x ) { x * x }
> foo[ 5 ] # => 25
>
> # 以下のように呼び出すことも可能です
> foo.( 5 ) # => 25
> foo.call 5 # => 25

なんだ。lambdaいらねーじゃん。callいらねーじゃん。
こういうのを教えてくれよ。

> 今更言われてもそうだね不便だねとしか

そんなこと言われてもね。今更Ruby初心者といわれても
始めたばかり。どうしろと?
0163デフォルトの名無しさん2016/11/05(土) 18:18:33.92ID:9rWJk3qM
>>162
callは略せるって上に書いたでしょ
lambdaの方はしらんかったけどたしかにキモいなこれ
callの方も結構ヘンだけど
あと余計なことには反応しなくて良いんだってば
0164デフォルトの名無しさん2016/11/05(土) 18:20:42.36ID:VSrxz5YG
あなたRubyやんないほうがいいんじゃない?
まあ仕事でRubyのプロジェクトに入っただけかもしれないけど。
0165デフォルトの名無しさん2016/11/05(土) 18:45:31.46ID:M1fQHNFf
喧嘩すんなよRubyが糞なのは普遍なんだから

わかったならPython使え情弱どもが
0166デフォルトの名無しさん2016/11/05(土) 18:49:13.91ID:szmfxvT7
> 普段JavaScriptで書いていて、JavaScriptでもっと短く書くことができる。

フフッてなったw
0167デフォルトの名無しさん2016/11/05(土) 19:25:21.38ID:HMFIz/40
[5,2,3].sort # =>
ってソースに書いておくと
[5,2,3].sort # => [2, 3, 5]
みたいに置き換えてくれるツールがあったら教えてください
0168デフォルトの名無しさん2016/11/05(土) 22:43:25.54ID:LJBtWuSU
存在するファイルは上書きせずにファイルをコピーってどうやるの?
0169デフォルトの名無しさん2016/11/05(土) 22:57:00.73ID:CJv/XjYq
ダイヤお姉ちゃんに頼む
0170デフォルトの名無しさん2016/11/05(土) 23:00:12.07ID:LJBtWuSU
KurosawaDaiya.copy(from, dest)
#=> NameError: uninitialized constant KurosawaDaiya

駄目でした
0171デフォルトの名無しさん2016/11/06(日) 00:59:43.52ID:Mq0g4tm5
それはお姉ちゃんをコピーしようとしてるのでは
0172デフォルトの名無しさん2016/11/06(日) 03:07:23.22ID:8WadcDvl
foo(
 a: data['a'],
 b: data['b'],
 c: data['c'],
 d: data['d']
)

これをもっと短く書く方法を教えて下さい!
0173デフォルトの名無しさん2016/11/06(日) 09:09:40.26ID:UB8ayWaX
>>147
Effective Ruby の項目10に書いてあるけど、

構造化データを扱う際、Hashの配列よりも、
クラスまたは、Struct(簡易クラス、クラスジェネレータ)のような専用の型を、使った方がいい

data[:name]
キー名のような実装の詳細が、隠蔽されず表に出てくる。
また、存在しないキーは、nilとなる

Person = Struct.new(:name, :address) #定数に代入
data = Person.new("foo", "fugafuga")
data.name

Structでは属性になるから、getter, setter も付いているし、
存在しない属性名でアクセスすると、NoMethodErrorになる

JavaScript(ES3)では、Hashが無いから、その代わりに、
Objectのプロパティを使っているので、obj.__proto__ という、
たまたま実行環境が使っている、キー名で上書きすると、誤動作する

だから、キーを作る際、__proto__かどうか、チェックしないといけないので不便
0174デフォルトの名無しさん2016/11/06(日) 09:10:35.91ID:6TZQqHcY
>>172
Rails使ってるなら

foo(data.symbolize_keys)
0175デフォルトの名無しさん2016/11/06(日) 09:28:36.42ID:rGVVvSQ9
foo(**data)
0176デフォルトの名無しさん2016/11/06(日) 12:09:01.31ID:8WadcDvl
>>174 >>175
dataにはa, b, c, d 以外も含まれているので
それではだめなのです。
0177デフォルトの名無しさん2016/11/06(日) 13:13:30.71ID:CGfTBBGj
>>176
slice
0178デフォルトの名無しさん2016/11/06(日) 13:37:48.19ID:+j3xqinH
こんなもんfooのほうを変えるべきだろう
0179デフォルトの名無しさん2016/11/06(日) 13:41:52.43ID:6TZQqHcY
>>176
後出しでそんなこと言われてもねぇ…
そもそも foo で何をやりたいかにもよるし
0180デフォルトの名無しさん2016/11/06(日) 14:28:52.63ID:8WadcDvl
あ、sliceで出来たのでもういいです
またなんかあったら聞きます
0181デフォルトの名無しさん2016/11/06(日) 15:57:30.38ID:6TZQqHcY
> あ、sliceで出来たのでもういいです
こういう余計な一言はやめた方がいいよ
0182デフォルトの名無しさん2016/11/06(日) 16:01:04.07ID:YPGx/bgn
2ちゃんではよくあること
あいさつ代わり
0183デフォルトの名無しさん2016/11/06(日) 18:23:47.88ID:Mq0g4tm5
Rubyでは代入演算子を再定義できないというのを知らなかったんですが
ではこうしたい場合はどうするんでしょう?

class Hoge
 attr_accessor(:array, :number)
 # いろいろ
end
みたいなClassがあったとして

hoge = Hoge.new
hoge = piyo

としたときにpiyoがどんなものかによって処理を分けたいのです
(具体的にはpiyoがArrayならarrayに入れる、 Hogeと似たようなものならアトリビュートをコピー、とか)

例えばinitialize_copyかなんかを上手く作ればそうなるよみたいな都合のいい話はないですか?
それとも素直にHogeにset(other)みたいなメソッドを定義するべきでしょうか
0184デフォルトの名無しさん2016/11/06(日) 18:32:02.92ID:NZCpJm/D
そんな馬鹿みたいなクラスは作らないから答えようがない
01851832016/11/06(日) 19:02:10.01ID:Mq0g4tm5
Rubyだと全部参照渡しだし = なんかは使わなそうですね
素直にメソッド作ります
0186デフォルトの名無しさん2016/11/08(火) 01:53:05.89ID:M6Rn2+El
確かRubyには、scala, Haxe みたいな、switchでのパターンマッチが無いよな

そもそも動的言語で、型によって分岐するのは、設計がおかしい

ちゃんと設計すれば、継承・インターフェース・ダックタイピングのオーバーロードで、
自然と型による分岐が無くなるはず
0187デフォルトの名無しさん2016/11/08(火) 03:24:23.45ID:107xoCwk
黒アワビ濡れ濡れお色気ビラビラ仕様のRuby
公開おなほ
すとーるまんこはかきたれ
0188デフォルトの名無しさん2016/11/08(火) 06:17:48.12ID:ykrZTa7U
> 0001: 訪問:2016/11/06(日) 14:32
> 会社A
> 担当者BB
> 0002: 取引先:2016/11/07(月) 09:36
> 企業CCC
> 相談人DDDD EEEEEの件で契約

というtxtファイルを

> log=会社A\t担当者BB
> log=企業CCC\t相談人DDDD\tEEEEEの件で契約

という形に置換して出力するバッチを作りたいと思っています。

> Rubyはじめました: rubyでファイルの内容の一部を置換する
http://myruby.seesaa.net/article/125577047.html
こちらを参考に

> f=File.open("input.txt","r:utf-8")
> buffer = f.read();
> p buffer
> # 中身を変換
> buffer.gsub!(/^[\d]{4}\:.*\:[\d]{2}\n/, "log=")
> p buffer
> f=File.open("output.txt","w:utf-8")
> f.write(buffer)

を書いてみたのですが、以下の置換も一つの.rbファイル内で続けて動作させるにはどうすればいいでしょうか
よろしくお願いします

buffer.gsub!(/\n/, /\t/)
buffer.gsub!(/\tlog\=/, /\nlog\=/)
0189デフォルトの名無しさん2016/11/08(火) 11:49:52.31ID:ZBAGJV1u
つぎのかたどうぞ
0190デフォルトの名無しさん2016/11/08(火) 14:05:34.46ID:LTPhc021
特定のウェブページを毎日チェックして、アルバイト、居酒屋 など、決まった文字列が掲載されてたら通知するandroidアプリを作りたいんですが、こういうの何て言いますか?
0191デフォルトの名無しさん2016/11/08(火) 14:21:37.68ID:RD7eA5MT
バイト探し
0192デフォルトの名無しさん2016/11/08(火) 14:26:41.88ID:ZBAGJV1u
スクレイピング
ボット
PIM
0193デフォルトの名無しさん2016/11/08(火) 15:04:04.37ID:LTPhc021
>>192ありがとうございます
0194デフォルトの名無しさん2016/11/08(火) 16:52:52.70ID:ic1oOtKi
ちなみにスクレイピングは逮捕例もあるよ
0195デフォルトの名無しさん2016/11/08(火) 19:51:30.63ID:M6Rn2+El
>>188
> buffer.gsub!(/^[\d]{4}\:.*\:[\d]{2}\n/, "log=")
> p buffer
この後に、

buffer.gsub!(/\n/, /\t/)
p buffer

buffer.gsub!(/\tlog\=/, /\nlog\=/)
p buffer

エラーが起こった際、デバッグしにくいけど、
メソッドチェーンで、どんどんつなげていく事もできる

buffer.gsub!(/^[\d]{4}\:.*\:[\d]{2}\n/, "log=")
.gsub!(/\n/, /\t/)
.gsub!(/\tlog\=/, /\nlog\=/)
0196デフォルトの名無しさん2016/11/08(火) 19:55:50.26ID:ykrZTa7U
>>195
ありがとうございます!!!!!!!!!
0197デフォルトの名無しさん2016/11/08(火) 22:18:28.32ID:ykrZTa7U
>>195
無事に動きました!
助かりました、ありがとうございます
0198デフォルトの名無しさん2016/11/10(木) 06:58:06.00ID:MLyRIdhy
基本的な部分なのですが
hashオブジェクトをto_aした場合に返値される配列の順序は
hashオブジェクトにキーを設定した順序でいいのですか?
0199デフォルトの名無しさん2016/11/10(木) 08:00:08.45ID:+0vOVL7/
極端に古いバージョンでない限りはそれでいい
0200デフォルトの名無しさん2016/11/10(木) 12:26:51.61ID:Sha7NYgb
実装はそうなってるけど仕様で保証されてたっけ?
0201デフォルトの名無しさん2016/11/10(木) 13:33:15.27ID:dxAJlx69
今のバージョンは保証してる
0202デフォルトの名無しさん2016/11/10(木) 14:27:24.56ID:LGdObFSz
どうゆう理由でハッシュキーの順序を保証するようになったんかね
他の言語では基本順序は保証されていないよね(´・ω・`)
0203デフォルトの名無しさん2016/11/10(木) 14:47:43.59ID:dxAJlx69
>>202
>どうゆう理由で

エンジンが変わった
0204デフォルトの名無しさん2016/11/10(木) 15:04:32.11ID:o6QUnq5t
順序に依存したコードを書きたい人の声が大きかったから
0205デフォルトの名無しさん2016/11/10(木) 22:33:15.81ID:+0vOVL7/
順序を保持するためだけにハッシュ表とは別にわざわざ無駄な線形リストを持ってるんだぞ
決して、たまたま順序通りになるようなアルゴリズムを選んだとか、
順序通りになるようにハッシュ表の実装を工夫したとかではなく、無理に明示的に順序を持たせてある
0206デフォルトの名無しさん2016/11/10(木) 23:18:15.82ID:pEVMYV3p
一般的には、Hashには2種類ある

Hash は順序なし。
Ordered_Hash は追加した順番で、順序あり
0207デフォルトの名無しさん2016/11/10(木) 23:44:37.48ID:+0vOVL7/
順序付きのハッシュ表自体が一般的ではないだろ
RubyのHashは>>205で書いたとおりハッシュ表とは無関係に順序持たせてるし、
.NETのSortedDictionaryみたいに辞書の実装で要素をキーでソートされた状態で持つのはよくあるけど
あれはハッシュ表じゃなくて二分木やバイナリサーチだし
0208デフォルトの名無しさん2016/11/11(金) 03:16:24.93ID:wVch1D/r
yield の意味が理解できません
例えば下記ってどんなことしてるんでしょうか?

https://github.com/fluent/fluentd/blob/master/lib/fluent/plugin/parser_regexp.rb

def parse(text)
m = @regexp.match(text)
unless m
yield nil, nil
return
end

r = {}
m.names.each do |name|
if value = m[name]
r[name] = value
end
end

time, record = convert_values(parse_time(r), r)
yield time, record
end

yield nil, nil

yield time,record

二つあるけどさっぱりです
0209デフォルトの名無しさん2016/11/11(金) 07:13:41.60ID:LSv6brFn
>>208
ブロック付きでこのメソッドを呼ぶと、yield のタイミングでブロックが実行される

parse('hoge') { |t, r| p [t, r] }

という風にすると、yield の内容が表示される
0210デフォルトの名無しさん2016/11/11(金) 08:58:07.26ID:ENznHnYU
Rubyのyieldはただのコールバック関数呼び出しの
シンタックスシュガーだからなぁ。
JavaScriptでかけばこんな感じだよ。

a = [1, 2, 3, 4]

forEach(a, function(i) {
 return i * 2
})

function forEach(arr, block) {
 var ret = []
 for (var i = 0; i < arr.length; i++) {
  ret[i] = block(arr[i])
 }
 return ret
}

あとは書き方程度の問題。ブロックが引数の最後の一つである場合に限り
引数のblockコールバックを省略することが出来て、代わりにyieldを使って
そのコールバックが呼び出せるってだけ。
0211デフォルトの名無しさん2016/11/11(金) 09:55:02.27ID:e7T2VXvj
pythonのyieldとはだいぶ違ってた
0212デフォルトの名無しさん2016/11/11(金) 14:39:07.80ID:kzNknik+
初めて書き込みます。windowsで、rubyをインストールしました。helloruby.rbと書くと、内部コマンドまたは〜というエラーメッセージが出ます。何が原因だと思いますか?
0213デフォルトの名無しさん2016/11/11(金) 18:33:52.72ID:+0sZIajy
>>212
エスパーするとパス通せ
0214デフォルトの名無しさん2016/11/11(金) 18:58:09.57ID:XRaelh1g
>>213
返信ありがとうございます。
ruby -vではきちんとバージョンが表示されるのに、helloruby.rbと書くと内部コマンド〜とエラーメッセージが出ます。この場合どのようにしたら良いのでしょうか?自分なりに調べたのですが全く情報が出てこず…。初心過ぎる質問で申し訳ありません。
0215デフォルトの名無しさん2016/11/11(金) 19:01:01.28ID:UQPlBidt
どのwindowsにどのruby入れてどんなエラーが出たか全部書いて
0216デフォルトの名無しさん2016/11/11(金) 20:13:58.18ID:JZCe9Y2P
最近の Windows は .rb を実行可能に出来るん?
0217デフォルトの名無しさん2016/11/11(金) 20:18:26.25ID:UQPlBidt
それは普通に出来る
0218デフォルトの名無しさん2016/11/11(金) 20:55:45.18ID:xrgRbR8m
ruby helloruby.rb かな?
02191012016/11/11(金) 21:53:06.05ID:goTatCVE
毎日定時帰りしたら首になりそう

■使用するプログラミング言語/ツール/特殊技術
・Ruby on Rails
・MySQL / PostgreSQLなどのデータベース技術
・Javascript(jQuery)の技術
・サーバ構築、管理の技術(AWS)
・HTML / CSSの技術(ウェブページのコーディング技術)

■月給20万〜
※経験・スキルを考慮のうえ、当社規定により優遇いたします。
※上記給与に、見込残業代35時間分43,000円分を含みます。
 (見込残業代 月35時間分を超過した場合は別途支給)
0220デフォルトの名無しさん2016/11/11(金) 23:39:57.27ID:N42G00o6
43,000 / 1.25 / 35 ≒ 980
0221デフォルトの名無しさん2016/11/11(金) 23:46:59.86ID:LSv6brFn
この時代にjQueryはないわー
0222デフォルトの名無しさん2016/11/12(土) 03:08:59.71ID:SNnuUkOH
月35時間残業して給料20万…
しかも手取りですら無いという
これはヤバイわ
0223デフォルトの名無しさん2016/11/12(土) 03:41:54.01ID:fAGx8Up8
>>221
RailsでjQuery以外を使おうと思ったら苦難の道で?w
0224デフォルトの名無しさん2016/11/12(土) 03:52:09.03ID:fAGx8Up8
訂正
RailsでjQueryの代わりに導入すべきと言われるフレームワークを使おうと思ったら苦難の道やで?

jQueryを含め単なるライブラリ程度であれば簡単に使えるけど
AngularとかReactとかJavaScriptのフロントエンドフレームワークを
組み合わせる方法をRailsは用意していない。

Rails 5でAPIモードというJavaScriptのフレームワークを使う前提のモードができたけれども、
ぶっちゃけこれRailsの便利な機能の多くが非推奨になりましたって言ってるようなもんだからねw
ビューがバッサリなくなって、コントローラーの機能も必要最小限になる。

その分をJavaScritフレームワークで実現するんだけど、Railsにはそれらと組み合わせる機能がかけている。
RailsでJavaScriptのテストはどうやれば良いんだ?レベル。
0225デフォルトの名無しさん2016/11/12(土) 04:16:39.20ID:eAhK3KJp
朝っぱらから気合い入った長文乙
0226デフォルトの名無しさん2016/11/12(土) 04:22:33.43ID:6wPviZ3t
>>219
35時間残業して43,000円にしかならないのか
0227デフォルトの名無しさん2016/11/12(土) 04:25:14.43ID:6wPviZ3t
>>224
どうせなんでもjsonで出し入れするんだから
viewなんていらないしrailsである必要すらない
0228デフォルトの名無しさん2016/11/12(土) 04:33:26.95ID:fAGx8Up8
>>225
あ、朝?

普段君が何時頃に起きなきゃいけない生活なのかがよく分かるわ。

こっちは会社まで徒歩でも30分。出社時間が一応10時で(基本的に残業なし)
Slackに書くだけで私用を理由に自宅作業したり早く退社してもOK
遅刻とかそういう概念もないんでw
0229デフォルトの名無しさん2016/11/12(土) 04:36:08.01ID:fAGx8Up8
>>227
> viewなんていらないしrailsである必要すらない

その通り。Railsの終焉が見えるよねw
ちなみに俺はRubyよりもJavaScriptの方が好き。

メインはJavaScriptで、その背後にあるサーバーは
なんでもいいという時代かな。
0230デフォルトの名無しさん2016/11/12(土) 04:55:24.42ID:W5RGEoAt
>>228

>>219
0231デフォルトの名無しさん2016/11/12(土) 05:00:57.16ID:fAGx8Up8
>>230
世の中にはかわいそうな会社があるねとしか
見てなかったwww
0232デフォルトの名無しさん2016/11/12(土) 07:15:36.64ID:UXa3WItJ
>>229
だったらなんでRubyスレを覗いてるんだろうか?
嫌いなRubyを叩いて憂さ晴らしをしたいのかな?
0233デフォルトの名無しさん2016/11/12(土) 07:54:30.01ID:SNnuUkOH
ちょっと上で暴れてたRuby使わなきゃならなくなったJS大好きなロリコンだろ
もう触るなよ
0234デフォルトの名無しさん2016/11/13(日) 11:27:30.83ID:8tp89YW7
本屋行ったらPython本増えたなあ
Rubyで機械学習って本書いたら…売れねえか

機械学習や人工知能という神風が吹いて国内でもPythonに完敗なんだろうな
0235デフォルトの名無しさん2016/11/13(日) 11:52:13.63ID:hnH+OR8d
マルチ誰得
0236デフォルトの名無しさん2016/11/13(日) 12:15:30.12ID:T5+9PjbV
>>234
もう勝負は着いてるんだからみっともないことはやめなさい
この国のITはガラパゴス化した技術に拘って世界に取り残されるという失敗をさんざん繰り返してきたというのに、またその例を増やす気か
0237デフォルトの名無しさん2016/11/13(日) 15:44:25.64ID:e+lvJCbH
久々にリアル本屋行ってみたら
Rubyの棚よりPythonの棚の方が大きくなってた
胸熱

データサイエンティストのみなさんのおかげですωωω
0238デフォルトの名無しさん2016/11/13(日) 20:44:27.50ID:5YmDMkhP
Rubyってコンパイル型にできないの?
例えば Cなら、 cc hoge.c | ./a.out にすればインタプリタ型になるし、
実行ファイルも残る。
Rubyではコンパイルと実行を分割して実行ファイルを残す方法ってないのかな。
0239デフォルトの名無しさん2016/11/13(日) 20:59:12.44ID:miyqCymn
おます
0240デフォルトの名無しさん2016/11/14(月) 02:10:30.72ID:XIKx0ys+
>>219
同じことしているのに ニートの俺には給与ないんだけど・・・
あと最近はSwiftでスマホアプリ作って遊んでる

こんなの仕事でやったら闇落ちしそうなので プログラマとして働くつもりないけど
まぁそれ以前に、実務経験ないから雇ってもらえないねん _(:3 」∠)_=3
0241デフォルトの名無しさん2016/11/14(月) 04:04:12.28ID:OCTkBwGI
Rubyはいいと思うが、なかなか覚えられない。結局ちょっとした処理をしようと
すると、C#とかを引っ張り出してくる。Shell感覚で使えたら最高だと思うが
普通はmouseだし、Tool系はTCLだし。
Rubyって主にどういう場面でつかうんだ?
0242デフォルトの名無しさん2016/11/14(月) 05:24:04.01ID:esjkHDa1
>>240
ハローワークに、プログラミングを未経験・独学で勉強している人の募集も一杯ある
0243デフォルトの名無しさん2016/11/14(月) 06:41:55.09ID:aL/Lu1lD
>>241
今のRubyはRailsのDSLだよ
知らなかったの?
0244デフォルトの名無しさん2016/11/14(月) 06:55:39.43ID:5ieSClDh
>>241
刑務所で講習用
0245デフォルトの名無しさん2016/11/14(月) 07:01:01.48ID:U3HMZCux
>>241
Unix 上でちょっとしたことをしたいとき用言語としてよく使うよ
まさに昔の Perl の代替
0246デフォルトの名無しさん2016/11/14(月) 07:13:45.48ID:aL/Lu1lD
Rubyは入ってなかったり入っててもバージョンが古いことが多いからなあ
Perlの代わりに使うのは厳しいわ
0247デフォルトの名無しさん2016/11/14(月) 07:37:53.70ID:U3HMZCux
>>246
手元でやるだけのちょこっとしたことだから、ポータビリティは必要ない
ごく一部の例でいえば、何かが吐き出したlogファイルをサクッと解析させたりとかね
0248デフォルトの名無しさん2016/11/14(月) 08:03:38.77ID:esjkHDa1
Ruby, Groovy は、DSL向き。
SASSも、Ruby

また、設定ファイルとしても読みやすいから、Chef, Puppet でも使われている

「たのしいRuby」など、良本が揃っているから、勉強しやすく、Java, C#ほど難しくない

また、Rubyから静的言語の、Elixir, Haxe, Kotlin などへ移りやすい
0249デフォルトの名無しさん2016/11/14(月) 10:42:07.67ID:AJSSB3HL
>>215

>>214です。windows8にruby23-x64を入れました。
helloruby.rbと打つと、

’helloruby.rb’は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。

と出ます。
0250デフォルトの名無しさん2016/11/14(月) 10:42:37.62ID:AJSSB3HL
認識させるにはどうしたらいいのでしょうか?
0251デフォルトの名無しさん2016/11/14(月) 11:01:12.14ID:CNrivUWZ
perlの代わりならpython

rubyは見た目perlに似てるだけでperlの代わりにはならない
0252デフォルトの名無しさん2016/11/14(月) 11:03:12.46ID:CNrivUWZ
>>250
mingw/msys入れろ
■ このスレッドは過去ログ倉庫に格納されています