Ruby 初心者スレッド Part 63at TECH
Ruby 初心者スレッド Part 63 - 暇つぶし2ch448:デフォルトの名無しさん
18/07/22 08:45:50.30 sunXcUq/.net
>>425
この本に書かれていたような気がする。
URLリンク(www.ohmsha.co.jp)
確かツールでは上手くできなくて、独自のものを使っているだったような。

449:デフォルトの名無しさん
18/07/22 09:11:02.92 mb9TeYz9.net
>>431
残念、どう見てもbison(yacc)です
URLリンク(github.com)
相変わらずrubyistはいい加減なことばかり言うね

450:デフォルトの名無しさん
18/07/22 13:32:44.36 LiIRy0eu.net
rubyは始まる前に終わってしまった

451:デフォルトの名無しさん
18/07/22 16:27:12.16 y3TgOVe7.net
はいはい

452:デフォルトの名無しさん
18/07/22 16:27:40.65 8Nb060qV.net
質問を普通に読むと、
パーサジェネレータに食わせるソースを人手で書いてるのかツールで出力してるのか、
聞いているんだと思うんだが
例の荒らしは日本語が不自由なの?

453:デフォルトの名無しさん
18/07/22 17:19:25.94 bmpyz9fo.net
>>435
元の質問ってこれだよね
>>>>425
>> Ruby本体のパーサってツール使って書かれてるの?
>> それとも手作業?
普通に読むと、パーサのコードがジェネレータで自動生成されているのか、
あるいは手書きでゴリゴリとパーサをC言語で書いているのか?という内容で、
>>429>>432が適切なレスを返している(>>431は知ったかぶりのお馬鹿さん)
で、それに対して日本語が不自由と噛み付く>>435の日本語読解力に対して小一時間
ちなみに、Rubyの構文解析(パーズ)に関しては、
以下の文書、いわゆる RHG - Ruby Hacking Guide で詳しく解説されてる
・Rubyソースコード完全解説
 URLリンク(i.loveruby.net)

454:デフォルトの名無しさん
18/07/22 17:43:50.81 o4y3Fl/D.net
>>431の本は読んだことないけど、いくらRubyistが書いた本とはいえそんな低レベルな間違いをするとは思えないから実際の記述が気になるな
独自に作ったと書かれてるのってパーサじゃなくて字句解析器のことだろうか
字句解析器は手書きでも比較的簡単に作れるので、パーサは自動生成で字句解析は手書きというのはよくあるよね

455:デフォルトの名無しさん
18/07/22 18:27:03.98 NHUbC5Q3.net
標準ライブラリのRipper クラスで、字句・構文解析ができる。



456:法規則から、Bisonでパーサを作る 文法規則(parse.y) → Bison → パーサ(parse.c) 「Rubyのしくみ」に書いてある



457:デフォルトの名無しさん
18/07/22 18:30:21.91 mu5XaGiF.net
Rubyの文法は、改行が文のセパレータだったりなかったりするので、yaccでは書きにくそうな気も。

458:デフォルトの名無しさん
18/07/22 21:20:30.98 bmpyz9fo.net
>>437
>独自に作ったと書かれてるのってパーサじゃなくて字句解析器のことだろうか
Rubyの字句解析器は(次で詳しく書くけど)手書きだから、「独自に作った」には該当しないね
で、>>431の書籍は手元にあるから「独自に作った」部分を推測すると、p68 第3章の
囲み記事にある「YARV命令を間近に見てみる」の内容ではないかと思われる
この記事によると、Rubyの仮想マシン YARV の命令セットはC言語で実装されているが、
実際には insns.def という命令セット記述向け外部DSL(ドメイン特化言語)で書かれており、
Rubyで書かれた独自ツールを用いてC言語ソースが自動生成される、とある

>字句解析器は手書きでも比較的簡単に作れるので、
>パーサは自動生成で字句解析は手書きというのはよくあるよね
うん、よくある
ただし、Rubyに関しては字句(トークン)の意味が文脈によって異なるので、
字句解析器を汎用的なツール(Flex, Lex)で自動生成するのは原理的に無理
だからRubyでは字句解析器をC言語で(=手書きで)ゴリゴリ書いてる

459:デフォルトの名無しさん
18/07/22 21:35:50.53 8Bgo+1zG.net
   /__.))ノヽ
   .|ミ.l _  ._ i.)
  (^'ミ/.´・ .〈・ リ
  .しi   r、_) |  字句解析器はわしが独自に作った
    |  `ニニ' /
   ノ `ー―i´

460:デフォルトの名無しさん
18/07/23 02:58:02.91 4FKdTwd5.net
parse.yって結構な量になるだろ
まじで手書きなの?

461:デフォルトの名無しさん
18/07/23 03:30:44.45 +9p86R5q.net
flexはライセンスの問題があるのに対して、bisonは解決してるので、字句解析だけ手書きという場合もありそう。

462:デフォルトの名無しさん
18/07/24 01:24:57.08 USIMmUbR.net
やっぱり理解してないな

463:デフォルトの名無しさん
18/07/24 11:09:18.60 5ghygOWP.net
def hoge(ary)
  if ary.length > 10
  略
end
def hoge(ary)
  return ary.pop if ary.length > 10
  略
end

464:デフォルトの名無しさん
18/07/24 11:14:14.74 5ghygOWP.net
途中で投稿しちゃったすまん
hoge1を書く時にhoge2みたく1行でぱぱっと書いてしまいたくなるんだけど、あまり良くない書き方かな?
return ary.popの値を別に使うわけじゃないから却って読みにくくなってるかな?
同様にbreak(ary.pop) if ~ みたいなこともやりたくなる
def hoge1(ary)
  if ary.length > 10
    ary.pop
    return
  end
  略
end
def hoge2(ary)
  return ary.pop if ary.length > 10
  略
end

465:デフォルトの名無しさん
18/07/24 11:21:15.47 5ghygOWP.net
かといって (ary.pop; return) if ~ とは書きたくないんだよね

466:デフォルトの名無しさん
18/07/24 12:11:36.42 pu7GMHRK.net
却ってもなにも普通に読みづらい
やる事がpopとreturnの2つあるんだから素直に別々に書け

467:デフォルトの名無しさん
18/07/24 14:03:55.04 gr6cAZAi.net
偉そうだな

468:デフォルトの名無しさん
18/07/24 15:44:55.28 5ghygOWP.net
>>448
サンキュー 横着しないで書くことにするわ

469:デフォルトの名無しさん
18/07/26 23:53:19.41 a+YNJ8TA.net
ワンライナーで横着して書くのはすごい便利だぞ

470:デフォルトの名無しさん
18/07/27 10:42:21.60 /FxeI0LB.net
忘れた頃に見直すと凄く読み辛いけどな。

471:デフォルトの名無しさん
18/07/29 03:07:55.01 F6Tmnrz5.net
普通、ワンライナー書いて通ったら、
早めにリファクタリングするだろ
そんな後々まで残しておかないよ

472:デフォルトの名無しさん
18/07/29 10:44:14.48 BDdNcrbI.net
しょせんワンライナーにそんな手間をかけるかよ。

473:デフォルトの名無しさん
18/07/29 10:54:49.57 lzRBxehA.net
どうでもいいだろ
どうせRubyなんか後でメンテできないんだから、後でばっさり捨てても惜しくないくらいの簡易な実装を心掛けたほうがいい

474:デフォルトの名無しさん
18/07/30 15:23:19.49 i4fPEMEN.net
一昔前の Web プログラミング言語のトレンドは動的型付け一辺倒でしたが、
その時代も終わり、静的な型宣言を再評価するフェーズが来ているように思います。
この背景には、おそらく Web プログラミングの規模が年々肥大化しており、
動的検査のコストが増してきたのが理由にあるでしょう。

475:デフォルトの名無しさん
18/07/30 17:43:04.50 sQTL1Bwj.net
JSONに型情報含められたらな

476:デフォルトの名無しさん
18/07/30 18:13:38.72 hiT7ttnh.net
JSONに日付型入れられたらな

477:デフォルトの名無しさん
18/07/30 22:30:45.90 vVxxmyMz.net
まーたネガキャンしとんのか
ほんと懲りないな荒らしは

478:デフォルトの名無しさん
18/07/31 00:20:31.75 2+1mdxB2.net
ステマ荒らし VS ネガキャン荒らし
ネガキャンじゃないやつは
ステマ荒らしだよw

479:デフォルトの名無しさん
18/07/31 05:56:12.03 CsKbzYRR.net
ステマ荒らしとか、粘着はどういうアタマしとんねん

480:デフォルトの名無しさん
18/07/31 05:58:46.14 A5W680W/.net
>>461


481:デフォルトの名無しさん
18/07/31 06:33:34.00 M5dn2TAr.net
だから大規模開発は、Haxe
ソースコードをそのまま送って、10言語に変換できる

482:デフォルトの名無しさん
18/07/31 06:37:15.77 2+1mdxB2.net
>>463
変換できたってライブラリを使った時点で破綻するんだから意味ない
jQueryを使ったコードをC++に変換したって動くわけない

483:デフォルトの名無しさん
18/07/31 07:27:58.69 CsKbzYRR.net
ス テ マ 荒 ら し
↑の粘着のセンスって最悪やな

484:デフォルトの名無しさん
18/07/31 07:57:18.48 w8271+58.net
RubyスレでRubyのステマ荒らし?
こわいわー
いやマジでこわいわー

485:デフォルトの名無しさん
18/07/31 08:19:37.62 JoTrRiyA.net
荒らし「ステマ荒らしVSネガキャン荒らし(ドヤッ)」

凄い語録が誕生したな

486:デフォルトの名無しさん
18/07/31 09:08:38.32 kmul1JEG.net
粘着さんは自演でネガキャンしないと発作が起きちゃうから、
みんな優しくしてあげて
けっして「ステマ荒らし(ドヤッ)さん」なんて呼んではだめですよ
話は変わるけど、
ブロック内のself省略したらself以外のオブジェクトが割り当てられるようなメソッドってどんくらいあるの?

487:デフォルトの名無しさん
18/07/31 10:24:26.97 c3b7dR5Y.net
>>468
1つもない

488:デフォルトの名無しさん
18/07/31 10:36:43.29 f5dopGkZ.net
Rubyの実用ライブラリはどこにある?

489:デフォルトの名無しさん
18/07/31 11:15:46.71 kmul1JEG.net
self省略って便利なのは便利なんだよな
いちいちselfって書かなくて良いから

490:デフォルトの名無しさん
18/07/31 11:53:47.74 xRXvz4C9.net
@と勘違いしてないか

491:デフォルトの名無しさん
18/07/31 12:07:44.84 3hAWRCkR.net
自分は静的型の恩恵を受けてRubyを開発しているのに
その言語のユーザーにはそれを与えない、まさに鬼畜の所業
それだけに留まらず、動的型の方が優れていると嘘を教え込み
人の人生観や世界観を台無しにして囲い込み
骨までシャブりつくす姿勢は流石の宗教家
「Rubyをキメると気持ちいい!」

492:デフォルトの名無しさん
18/07/31 12:10:34.26 kmul1JEG.net
質問の間に色々レスがついたからもう一度書くわ
ブロック内のself省略したらself以外のオブジェクトが割り当てられるようなメソッドって何があるの?
スレの上の方になんか関係しそうなコードが書いてあったから疑問に思ったんだけど

493:デフォルトの名無しさん
18/07/31 12:22:51.02 H1jTAdrX.net
意味がわからない文章だが、コンテキストが入れ替わってることを言いたいのかな
そんなメソッドは作っただけ存在するけど

494:デフォルトの名無しさん
18/07/31 12:23:01.25 cZMkkV3A.net
ステマ荒らし(ドヤッ)さんはネガキャンがほんと


495:うに大好きだな >>474 mapのやつ?



496:デフォルトの名無しさん
18/07/31 12:54:43.34 c3b7dR5Y.net
>>474
1つもないっつってるだろ

497:デフォルトの名無しさん
18/07/31 13:07:28.97 cZMkkV3A.net
>>477
ステマ荒らし(ドヤッ)さんは帰って
どうぞ

498:デフォルトの名無しさん
18/07/31 13:12:42.46 zoworXJJ.net
>>474
継承を使えば普通だけど、何か別の事柄を期待しているのかな?
  irb(main):001:0> class Foo; def foo; puts 'FOO'; end; end
  => :foo
  irb(main):002:0> class Bar < Foo; def bar; foo; end; end
  => :bar
  irb(main):003:0> Bar.new.bar
  FOO
  => nil
  2行目、メソッド Bar#bar の定義内で self を省略したメソッド foo が
  呼び出されているけど、この時、実際には Bar(= self) ではなく
  Foo が割り当てられる

>スレの上の方になんか関係しそうなコードが書いてあったから疑問に思ったんだけど
アンカって知ってる?

499:デフォルトの名無しさん
18/07/31 13:21:24.28 Zh449vmZ.net
意味がわからないから具体例出せ

500:デフォルトの名無しさん
18/07/31 13:22:06.05 i+0VO+yy.net
.map{}やらの中のselfの事だろ
なんかこの粘着、時々日本語の読解がおかしくなるよな

501:デフォルトの名無しさん
18/07/31 13:31:30.22 H1jTAdrX.net
書いてる本人しかわかってないから、自演が惨めすぎるんだが

502:デフォルトの名無しさん
18/07/31 13:32:54.45 0cuGom8L.net
やっぱり荒らしてるのは星持ちか

503:デフォルトの名無しさん
18/07/31 13:34:24.76 zoworXJJ.net
>>481
>.map{}やらの中のselfの事だろ
具達的なコードで示すか、過去レスのアンカをカキコしる

504:デフォルトの名無しさん
18/07/31 13:36:32.60 Sn2VrW8x.net
@と勘違いしてるっぽい

505:デフォルトの名無しさん
18/07/31 13:39:02.09 0cuGom8L.net
以降ずっと自演が続きます

506:デフォルトの名無しさん
18/07/31 18:34:59.85 KsiqHYAS.net
eval系メソッドのこと?
URLリンク(ideone.com)

507:デフォルトの名無しさん
18/07/31 19:21:07.27 M5dn2TAr.net
JavaScript, TypeScript では、this が文脈で変わるので、ややこしい!
それを避けるため、jQuery, Haxe では変わらないようにしている

508:デフォルトの名無しさん
18/07/31 19:49:00.54 0cuGom8L.net
以降もずっと自演が続きます

509:デフォルトの名無しさん
18/07/31 23:54:26.33 wYvVLkW6.net
>483デフォルトの名無しさん2018/07/31(火) 13:32:54.45ID:0cuGom8L
>やっぱり荒らしてるのは星持ちか

このレスがついてから急にレスが付きづらくなったね

510:デフォルトの名無しさん
18/07/31 23:58:45.81 PrQlt9wc.net
図星

511:デフォルトの名無しさん
18/08/01 01:48:47.30 i67K/6im.net
RustってちょっとRuby臭がするんだけど、近づいてみるとC++の時に嗅いだ嫌な臭いがして頭がクラクラする

512:デフォルトの名無しさん
18/08/01 02:22:55.90 09aZWOww.net
ブロック付きメソッドで与えられたブロックを、
メソッド内でしかも別のコンテキスト下で処理したいんだけど方法ってある?

513:デフォルトの名無しさん
18/08/01 02:39:34.28 GZaAdjmn.net
【初心者必見!】Ruby evalを理解し活用するための4つのTips
URLリンク(www.sejuku.net)
instance_eval, class_eval, module_eval とか?

514:デフォルトの名無しさん
18/08/01 03:04:07.48 09aZWOww.net
誰か踏んでみて

515:デフォルトの名無しさん
18/08/01 03:50:19.21 2bwlZxeu.net
>>493
あるけどevilだしめんどくさいやめとけ

516:デフォルトの名無しさん
18/08/01 04:25:42.64 9f0eyaeN.net
贅沢なビール

517:デフォルトの名無しさん
18/08/01 10:00:59.65 /KJnVmCM.net
プロゲートから先に進めないwww

518:デフォルトの名無しさん
18/08/01 12:21:49.98 FFxaCJen.net
今からRuby勉強してルビィスト名乗ってドヤ顔できる?
アンタらのように下々どもの言語ディスる能力ほしいんだけど

519:デフォルトの名無しさん
18/08/01 12:30:40.81 GDPBpnE0.net
今やRubyはディスられる側

520:デフォルトの名無しさん
18/08/01 12:54:34.39 SPXi67Wg.net
もはやAppleにいらない子扱いされてるObjective-Cすら超越した近寄っちゃあかん言語の筆頭
URLリンク(pbs.twimg.com)


521:



522:デフォルトの名無しさん
18/08/01 13:36:49.31 FFxaCJen.net
単純により給料がいい言語に移ってるだけでRuby開発はどこもやりたいんだよね?
企業が欲しい言語エンジニアとエンジニアがやりたい言語に違いがあるだけじゃない?

523:デフォルトの名無しさん
18/08/01 14:03:43.11 BDoQYqGC.net
残念ながらこれが現実よ
言語としてエンジニアから嫌われてる
URLリンク(japan.zdnet.com)

524:デフォルトの名無しさん
18/08/01 18:58:35.84 09aZWOww.net
またステマ荒らし(ドヤッ)さんがネガキャンしてる

525:デフォルトの名無しさん
18/08/01 19:09:54.49 hJYNlAh1.net
>>504
荒らし荒らしいってるお前も荒らしだろ
今見たら俺のレスがステマ荒らし(?)認定されてて笑ったわ
大して荒れてない時でも荒らし荒らしうるせえんだわ

526:デフォルトの名無しさん
18/08/01 19:12:14.01 VQCovrqi.net
>>504
この人の自演は何かの病気なんじゃないか?

527:デフォルトの名無しさん
18/08/01 19:17:59.50 33KC14nX.net
ステマ荒らし(ドヤッ)さん「RubyスレでRubyをステマするのはずるいブヒー。これじゃネガキャン出来ないブヒー」
ステマ荒らし(ドヤッ)さん「悔しいブヒー。ステマは荒らしブヒー」ブヒブヒ

528:デフォルトの名無しさん
18/08/01 19:23:32.66 i67K/6im.net
rubyはとりあえず作ってみるという作業に向いていて、それで良いものをたくさん生み出したが、
それらは結局他の言語へ移植されていって、rubyでなくてもいい状況になってしまった
ruby3に向けて速くしようと頑張ってるが、それでもたかが知れてるので、
新しい洗練された標準ライブラリを作ることも必要だと思う

529:デフォルトの名無しさん
18/08/01 19:25:48.31 33KC14nX.net
というか荒らしは日中から書き込んでるんだな
もしかして無職?

530:
18/08/01 19:35:27.18 6NCuGzpD.net
>それらは結局他の言語へ移植されていって
RoR はどこに移植されましたか?

531:デフォルトの名無しさん
18/08/01 19:46:18.00 i67K/6im.net
>>510
それが残って存在意義になってるのが現状だね

532:デフォルトの名無しさん
18/08/01 19:47:05.72 7TmTR3QV.net
>>510
いい加減にしとけよおまえ

533:
18/08/01 19:49:52.90 6NCuGzpD.net
>>512
なんのことですか?

534:デフォルトの名無しさん
18/08/01 20:24:07.20 yeaXvKr1.net
QZaw55cn4cのトリップって運用情報板で言われてるボランティアとか星もちだろ?
で、何したの?

535:デフォルトの名無しさん
18/08/01 20:36:57.27 Al4aQLEL.net
働いたの?

536:
18/08/01 20:41:47.35 6NCuGzpD.net
>>514
星持ちではありません
>>515
5月に固定資産税を払いました

537:デフォルトの名無しさん
18/08/01 21:00:07.78 JsKaYcG1.net
ああ、やっぱり
IP切り換えて別のスレに書き込む度に>>516が高頻度でついてくる事があったからおかしいと思ってたけど
運営ボランティアの人だったんだ

538:デフォルトの名無しさん
18/08/01 21:02:06.21 Al4aQLEL.net
運営ボランティアの人を頭がおかしい人のように言わない
失礼だろ。奴隷にも人権はある。

539:デフォルトの名無しさん
18/08/01 21:13:04.63 JsKaYcG1.net
こういう自演のパターンも結構見た

540:デフォルトの名無しさん
18/08/01 21:20:37.46 hJYNlAh1.net
「IP切り換えて別のスレに書き込む度に>>516が高頻度でついてくる」って
もう統合失調症の被害妄想だろこれ……
悪いこと言わないから精神科か心療内科で一度診てもらえ

541:デフォルトの名無しさん
18/08/01 21:28:52.30 ucbmp5eJ.net
>>513
ID:6NCuGzpDが星もちだろうがなかろうがどうでも良いだろ
何故そんなに必死なの?

542:デフォルトの名無しさん
18/08/01 22:12:25.20 GDPBpnE0.net
>>520
Ruby信者ならそれぐらい普通

543:デフォルトの名無しさん
18/08/01 22:13:15.51 GDPBpnE0.net
だんだん昔のHSPスレの雰囲気に似てきたな

544:デフォルトの名無しさん
18/08/01 22:14:39.02 xKKgG+mq.net
Rubyをすくうすべはないのか

545:デフォルトの名無しさん
18/08/01 22:20:28.02 GDPBpnE0.net
動的型なんかにするから袋小路になるんだよ
これは初めから決まってたことでどうしようもない
経験的に、プログラムは何でも可能な限り静的なほうが良い
これを何でも動的なほうが良いと考えるのは経験が足


546:りてない スタティック最高



547:デフォルトの名無しさん
18/08/01 22:23:39.13 xTOwcTcT.net
おくすり増やしておきますねー

548:デフォルトの名無しさん
18/08/01 22:24:18.58 DGfW2k2a.net
またか
懲りないな

549:デフォルトの名無しさん
18/08/01 22:32:33.91 +VbRL20g.net
>>524
君がRailsのような画期的かつ有効なRubyの使い方を新たに示せば余裕で救えるよ。
Rubyにとって不幸だったのは、Railsの流行によってRubyに入ってきたのが頭悪い連中ばかりで、
Rubyに次のイノベーションを起こせるような人材がいなかったこと。
君がその一人でないというなら、今こそ君自身が君自身の力(コード)でGitHub上で君の能力を示しなさい

550:デフォルトの名無しさん
18/08/01 22:42:05.03 DGfW2k2a.net
自演がほんと好きだな

551:デフォルトの名無しさん
18/08/01 22:43:44.31 xKKgG+mq.net
日本人がふがいなさすぎるんだ
なぜ静的RubyやスケーラブルなRubyを勝手にでもつくろうとせんのだ
ちょっと手直しするだけだったろうに
Rubyをつくるように促した連中はそういう気運を待ってたにちがいないのに

552:
18/08/01 22:45:17.92 6NCuGzpD.net
>>530
>静的Ruby
これ、欲しい!

553:デフォルトの名無しさん
18/08/01 22:51:19.29 DGfW2k2a.net
>>531
はそのスレを荒らしてマッチポンプ繰り返すから嫌なんだよ

554:デフォルトの名無しさん
18/08/01 22:55:57.25 hrMLhnvx.net
やはりスレを荒らしてた奴か

555:デフォルトの名無しさん
18/08/01 22:57:58.09 hrMLhnvx.net
ボラかどうかの話をしてるだけなのに
荒らしがでてくるからおかしいと思ったけど
コレ、酷くないか?

556:デフォルトの名無しさん
18/08/01 23:06:59.96 GZaAdjmn.net
Rails の影響は、Node.js + Express など、すべての言語のフレームワークへ及ぶ
Ruby は関数型で、Groovy, JavaScript などに似ている。
それに型推論を付ければ、Kotlin, Haxe になる
他にも、Elixir もある
だから、Rubyを学ぶと、数言語できるようになる

557:デフォルトの名無しさん
18/08/01 23:16:24.70 3uNc8Mw3.net
これ以降全て自演

558:デフォルトの名無しさん
18/08/02 06:52:41.00 SjibvNdR.net
Rubyの次のverはどうなるかな
parse.yを書いてる環境も公開してくれたら良いな

559:デフォルトの名無しさん
18/08/02 06:56:24.03 SjibvNdR.net
そういえばろろそろ無職タイムか

560:デフォルトの名無しさん
18/08/02 22:17:27.97 +1EqszfI.net
Rubyのyaccソースを書いてるツールとか言語開発している環境とかの本出して欲しいな

561:デフォルトの名無しさん
18/08/02 22:20:09.15 5ti5JZJP.net
Matzは普通にEmacsオンリーだぞ
20年前から何一つ変わってない

562:デフォルトの名無しさん
18/08/02 22:25:26.99 +1EqszfI.net
それ、エディター話だろ
たしかyaccソースは複雑になりすぎて内製のツールつかってるんじゃなかったか?
どこかにそういう記事あったよな確か

563:デフォルトの名無しさん
18/08/02 22:41:44.29 5ti5JZJP.net
>>541
gitのコミットログ見たらすぐわかるけど、普通に手で編集してるよ

564:デフォルトの名無しさん
18/08/02 22:44:42.65 EamslOb8.net
ヒエ……あれ直に書いてるのか
まあそこがrubyの肝でもあるが

565:デフォルトの名無しさん
18/08/02 23:36:53.71 +1EqszfI.net
いやいや、内製ツールあるだろう普通に考えて

566:デフォルトの名無しさん
18/08/02 23:42:52.79 5ti5JZJP.net
いやいや、気になるならgithubにコミットログくらい見に行くだろう普通に考えて
そんなだからruby使いがいつまでも馬鹿にされるんだぞ

567:デフォルトの名無しさん
18/08/02 23:43:39.60 oW+8xglz.net
コミットログで手かツールか判別できるか?

568:デフォルトの名無しさん
18/08/02 23:45:34.29 5ti5JZJP.net
だから自分で確かめろよw
仮に変なツール使ってたとしても、手でやっても全くの手間変わらないような修正が並んでるよ

569:デフォルトの名無しさん
18/08/03 10:29:43.98 WJQL4Ki3.net
普段から型すら書きたくないって言ってるのに
コミットログなんか見るわけないじゃん
それが


570:必要なことであってもだ



571:デフォルトの名無しさん
18/08/04 09:48:29.21 qh8OmSn4.net
QZaw55cn4cがまたあばれてんのか
ほんと懲りないな

572:
18/08/04 13:26:13.46 Rdsot1y5.net
>>549
URLリンク(www.youtube.com)

573:デフォルトの名無しさん
18/08/04 14:44:57.22 NrQVv38L.net
スタンドアロンで使えるActiveScriptRubyみたいなのが欲しいな
今風に言えばRubyをくっつけたElectronみたいな奴

574:デフォルトの名無しさん
18/08/05 06:51:56.13 S3FmLgSz.net
rubyはプログラミング集中に邪魔な面倒な約束事を書くのを端折りたい人が使うもんじゃないの?

575:デフォルトの名無しさん
18/08/05 06:55:03.34 rv82PXHz.net
>>551
Ruby版Electronは欲しいな
Rubyと言えばRails一本槍で
WindowsとGUI軽視が
Rubyの普及を妨げたと思う

576:デフォルトの名無しさん
18/08/05 06:58:39.94 WWyVTQgE.net
RubyをGPL感染なしで使うのは難しいから、Rubyをアプリに組み込むような配布形態が流行ることはないよ

577:デフォルトの名無しさん
18/08/05 07:03:15.02 rv82PXHz.net
たしかにGPL汚染でプロプライエタリで使うのは難しくて
Linuxみたいなフリーウェア的思想の方へ
流れていったから現在があるんだろうね
Androidのネイティブアプリも軽視されてると思う
まあこれもできなくはないけど普及してはない

578:デフォルトの名無しさん
18/08/05 07:24:16.82 F0AAwpND.net
LinuxはGPLやで?

579:デフォルトの名無しさん
18/08/05 10:42:24.03 lge76hvQ.net
この知ったかしてるのってQZaw55cn4c?

580:デフォルトの名無しさん
18/08/05 11:07:51.33 6sr+WFQ9.net
PCやAndroidのアプリにバンドルするならmrubyだろうけど、
さすがにmruby使うのはだいぶ本末転倒だからなあ
そこまでするくらいなら普通にElentronのNode使ったほうがよっぽど生産性高い

581:デフォルトの名無しさん
18/08/05 14:08:26.91 gZzT8382.net
ちょっと前にmrubyを使ってみた事があるけどBignumが標準でないためFixnumとシームレスに変換されなかったりして使いにくい
速度もCRubyに劣るしPC用アプリケーションの処理系としてはあまり向いていないと思う

582:デフォルトの名無しさん
18/08/05 20:32:19.40 XPCi/u53.net
>>535
Expressが影響を受けたのはrailsではなくsinatra。
railsしか使ったことないのバレバレだな。
rubyとjsは全然似てない。jsの関数の万能さ、簡潔さをどうこねくりまわしてもrubyのblock proc lambdaみたいな面白仕様にはならない。
別にjsがすべてに優れてるわけでは全然無いが第一級関数の扱いについてだけは太刀打ちできないだろ。

583:デフォルトの名無しさん
18/08/05 20:39:25.50 rv82PXHz.net
>>560
JSよりRubyの方が書きやすいんだが

584:デフォルトの名無しさん
18/08/05 21:02:25.09 lCdDooCa.net
OOPするならクラス定数すら定義できないJSは問題外やわ

585:デフォルトの名無しさん
18/08/05 21:05:17.95 aA1uZ2Py.net
みんなtypescriptで書いてるから気にしてない

586:デフォルトの名無しさん
18/08/05 21:11:54.17 XPCi/u53.net
>>561>>562
ようするに全然似てないだろ?
似てるって言ってる>>535に対する反論なのだが。
勝手にjsからの回し者認定して攻撃してこないでよね。
わざわざ優れてるわけでは全然無いとまで書いたのに。

587:デフォルトの名無しさん
18/08/05 21:15:30.39 uVIrroLR.net
> Rubyを学ぶと、数言語できるようになる
こればっかりは全く同意できないな
Ruby使いはRubyに固執して他の言語に手を出そうとしない傾向が他の言語使ってる人に比べて強い
性質的にはVBerに近い

588:デフォルトの名無しさん
18/08/05 22:02:21.04 zXVetSzu.net
JS書きやす~~いwwwって人もいるんだな。
オジサン驚いたわ。

589:デフォルトの名無しさん
18/08/05 22:10:40.23 aA1uZ2Py.net
rubyは手に馴染むけど、いろいろなライブラリを使う状況になると、
入力補完が優れた他の言語の方が効率的になっちゃうんだよなあ

590:デフォルトの名無しさん
18/08/05 22:54:21.58 rv82PXHz.net
JSが書きやすかったら
AltJS言語があんなに出ないはず

591:デフォルトの名無しさん
18/08/05 22:58:55.54 AAAWmj32.net
ところが今はVSCodeがあるからJSクソ書きやすいんだよなあ
更に高い生産性や厳密なチェックを求めるならTypeScriptもある
VSCodeもTSも宗教的にRubyと相性最低最悪なのが悲しいところだが

592:デフォルトの名無しさん
18/08/05 23:13:37.38 5cf6E25B.net
>>568
昔のJSは書きにくかったんだよ。
でも今はJSが書きやすくなったから、
生き残ってるAltJSはTypeScriptだけになったよ

593:デフォルトの名無しさん
18/08/06 00:06:44.28 obJKiCah.net
eachによるカウンタいらずのループとかRubyの大きなアドバンテージじゃね
最近のJavaScriptはカウンタを回さなくてもすむようになったんだっけ?

594:535
18/08/06 00:11:55.08 b7eNDjo0.net
>>560
Node.js は、Sinatra をフルスクラッチで書くのと同じ。
Node.js + Express が、Rails と同じ
JavaScript 第6版、2012、David Flanagan
これは、サイの表紙で有名な、JSのバイブル「サイ本」。
Flanagan は、Rubyの本も出している
プログラミングElixir、2016、Dave Thomas
この人も『プログラミングRuby』という本を書いている
たいてい、有名な言語学者は、Rubyの影響を受けている
Groovy は、Rubyに似てる。
Rubyを静的にすれば、Haxe, Kotlin に似てる

595:デフォルトの名無しさん
18/08/06 00:28:36.44 9v8Yooys.net
>>572
でその人はなんのアプリを公開してんの?
技術書の著者がアプリを公開してないと信用できない件
スレリンク(prog板)

596:デフォルトの名無しさん
18/08/06 00:35:02.13 6IatVkYN.net
>>571
forEach はだいぶ前からあるし、今は for of もある
ていうかRubyのアドバンテージとしてeachしか思いつかないってそれ他の言語知らないどころかRubyもよく分かってないだろ
あんまりRubyだけに固執しないで他のも触ったほうが結果的にRubyの理解も深まるよ

597:デフォルトの名無しさん
18/08/06 00:35:08.07 ECWvwsc9.net
>>571
for of がある
ただrubyのeachはすごいと思う
というかブロックがすごい
breakとかnextとか使えるもん
そんなん出来ひんやん普通

598:デフォルトの名無しさん
18/08/06 00:40:03.63 9v8Yooys.net
RubyよりJavaScriptがすごいのは
クロージャーだな。

599:デフォルトの名無しさん
18/08/06 00:43:13.56 6IatVkYN.net
クロージャは明らかにJSの方が優れてるでしょ
Rubyは第一級関数ではないという致命的な欠陥がある

600:デフォルトの名無しさん
18/08/06 00:52:57.65 kftvtlvL.net
まぁいくら優れたところがあっても動的型ってだけで
過去の言語のグループに入れられちゃうんだから笑えるね

601:デフォルトの名無しさん
18/08/06 01:04:23.62 wLyI8nBX.net
>>572
あん?糖質か?
だからそのExpressが参考にしたのがSinatraだっつってんだが?Railsじゃなくて!

602:デフォルトの名無しさん
18/08/06 01:41:40.93 obJKiCah.net
Rubyはプロパティとメソッドの区別がないとか。何でも再定義できるとかもアドバンテージじゃね
これはJavaScriptあたりの範疇から外れるけどCライブラリとしゃべるようなケースでこの差は
めっちゃでかいと最近痛感している
>>574
忘れかけていたが・・・改めて調べてみた。for inは罠

603:デフォルトの名無しさん
18/08/06 11:41:48.43 xyu7L6lN.net
またネガキャンしにきたのか
どんだけ自演がすきなんだ?

604:デフォルトの名無しさん
18/08/06 15:19:40.20 wxQb+lVQ.net
お前らデザイン含めてフルスクラッチでアプリ作れる能力あるの?

605:デフォルトの名無しさん
18/08/06 15:42:53.28 9v8Yooys.net
あるよって言えば何か話が�


606:iむのかな?



607:デフォルトの名無しさん
18/08/06 15:58:20.62 wxQb+lVQ.net
エンジニアごときがデザインできるって笑えるレベルだと思うけど

608:デフォルトの名無しさん
18/08/06 17:05:01.62 XyFWrODd.net
↑ごときって君は何様なの?

609:デフォルトの名無しさん
18/08/06 17:12:00.41 r0vOnjXO.net
デザインと言っても色んな意味あるのだが

610:デフォルトの名無しさん
18/08/06 17:22:06.71 bv191ZQE.net
設計部にいたとき英語名刺の部署名がDesign Department になってたよ。
Designだけだと設計という意味で取られるのだろう。
日本人が一般に思い描いてる「デザイン」は英語で言うとAesthetic Design だろう。

611:デフォルトの名無しさん
18/08/06 18:52:55.23 roUzhpPJ.net
System Designというのもあるな。日本人には意味も必要性も理解されないが

612:デフォルトの名無しさん
18/08/06 19:05:51.88 HJfJfiYg.net
かっぱらいデザインが正しい。

613:デフォルトの名無しさん
18/08/08 00:21:15.18 xSkjc4Vz.net
Ruby界隈はWindows嫌いが多いよな。CrystalもWindows版がないしw

614:デフォルトの名無しさん
18/08/08 02:41:46.57 TPD1PiP/.net
まーた嘘ついてるのか
おまえがWindows嫌いなのはわかったってば
自演でWindows嫌い演じても、もう信じる人はおらんよ

615:デフォルトの名無しさん
18/08/08 03:28:06.97 4BWTfzpI.net
     ミミ ヽヽヽヽリリノノノノ  . .|
    ミ   ,,、,、,、,、,、,、,、、 彡 . ..|
     l  i''"        i彡 . .|  オレの新Java
     | 」  ⌒' '⌒  |..   |
    ,r-/  <・> < ・> |  .  .|     これで儲ける
    l       ノ( 、_, )ヽ |  .
    ー'    ノ、__!!_,.、|  .  |
     ∧     ヽニニソ  l    /
   /\ヽ         /   .. ̄|
 /     ヽ.  `ー--一' ノ/ヽ    ノ7_,,, 、    ______
/   (⌒、"⌒ソ⌒ヽ─ '"   `、  ( ィ⌒ -'"",う/壱 / /万:/|
    ~''(_)(_)(_)(_)ソ       ヽノ   ,イ^_.|≡≡|__|≡≡|彡|_____
    ヽ/`、_, ィ/           ヽ─/ ̄//|≡≡|__|≡≡|/壱//万 :/|
   /     /           ) / ≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
         /   ボラクル    i|≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
\      ノ             |≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|彡|
  \__ /             ノ|≡≡|__|≡|≡≡|__|≡≡|≡≡|__|≡≡|/

616:デフォルトの名無しさん
18/08/08 04:34:19.88 XhOfYtOw.net
>>590
ほんそれ
意固地

617:デフォルトの名無しさん
18/08/08 20:15:56.31 bSSLrH09.net
ねむい

618:デフォルトの名無しさん
18/08/08 23:57:17.94 +Ro3I41Z.net
久々にRubyに立ち返ろうと思ってたんだけど
やっぱり今もWindowsだと環境構築は面倒っぽいな
楽になるツール作ったら需要ある?

619:
18/08/09 00:06:46.14 rS9AJYq6.net
>>595
あります!

620:デフォルトの名無しさん
18/08/09 00:13:57.81 ro52D2nE.net
ツールで何を改善する気なんだ?
個人的な不満はWindowsとのインターフェイスに絡むキャラクタコード
以前に作ったツールはUnicode文字を含むコマンドラインオプションを受け取る方法がわからなくて
WIN32OLEを使ってWIM経由でコマンドラインオプションを取得する暴挙に・・・
コンソールのキャラクタコードはCP932だけど引数はU


621:TF-8で外部のコマンドを実行したいときとかも どうすればいいんだろうな



622:デフォルトの名無しさん
18/08/09 00:31:17.91 K8gFtAKy.net
そんなに面倒でもなくなったんじゃ無い?
URLリンク(qiita.com)

623:デフォルトの名無しさん
18/08/09 00:36:42.77 fUyWPXJG.net
今のwindows版は環境ごと入れるので、rubyを使うためにperlやpythonまで入ってくるのが面白い

624:デフォルトの名無しさん
18/08/09 00:39:25.77 riLnUYwW.net
たしかに文字コード面倒
ファイルやデータも古い年代モノから最近のモノまでいろいろ、コードも混在
rubyも最新版ばかりでない、マシンによってバージョンが違う

625:デフォルトの名無しさん
18/08/09 00:46:43.95 KxYle0qd.net
WSLつかえばいいやん

626:デフォルトの名無しさん
18/08/09 00:53:24.63 bbq6MBnq.net
文字コードが面倒って言ってるやつは
CP932(ShiftJIS)を使おうとしてるから
UTF-8対応のエディタ(Windows 10ならメモ帳でいいんやで?)を
使ってソースコードにはUTF-8以外を一切入れない
コマンドプロンプトはchcpでUTF-8に変更するか
画面への入出力時に(Rubyではなく)nkfなどを使って変換すればいい
Rubyスクリプトへデータの入力はファイルから行って
出力もファイルに出力するなら、別にnkfでの変換もいらない
UTF-8対応のテキストエディタで見ればいい
なんで日本専用の文字コードを使おうとしているのかわからない
それだと他の国で使えないではないか。汎用的に作ったほうが
簡単になることって多いよ

627:デフォルトの名無しさん
18/08/09 01:00:18.00 fUyWPXJG.net
>>602
そういう話じゃないんだなあ
chcpなんて使い物にならないし
rubyの内部の作りの問題なんだよ
nodeやgoやrustはその辺まともに作ってある

628:デフォルトの名無しさん
18/08/09 01:09:23.83 0kLiomIS.net
そうそう
近代的なプログラミング言語は内部エンコーディングがUnicode固定だから本当にIOのときだけエンコーディングを考慮すればいい
一方Rubyは文字列の内部表現がStringオブジェクトごとのエンコーディングに依存していて、
自分の管理外のコードからStringを受け取る場面では必ずエンコーディングを考慮せねばならない

629:デフォルトの名無しさん
18/08/09 01:14:23.18 bbq6MBnq.net
>>603
> chcpなんて使い物にならないし
使い物になってるけど?
実際WSLはchcpでUTF-8したのと同等の環境で動いている。
文字化けする?フォントがおかしい?
だからWSLでまともに使えるようにするために
全部修正したんだってばw

630:デフォルトの名無しさん
18/08/09 01:18:39.80 ro52D2nE.net
>>602
全然判かっていないじゃないか
多くのWindows用アプリケーションはUnicodeもしくはCP932を前提に作られている。たとえコンソールのキャラクタコードを
UTF-8にできてRubyがそれに従ってくれたとしてもほかのアプリケーションとの連携で不具合が発生するのは明らかで
問題は解決しない
それにnkf使えとか1.8時代に逆戻りだろw

631:デフォルトの名無しさん
18/08/09 01:21:35.03 bbq6MBnq.net
多くのWindows用アプリケーションはUnicodeもしくはCP932を前提に作られている
それをRubの外部でnkfなどを使って変換すればいいだけの話だって言ってる

632:デフォルトの名無しさん
18/08/09 01:21:43.34 fUyWPXJG.net
>>605
いやだから、windowsはAPIでコンソールに出力してるから、そういう話じゃないんだって

633:デフォルトの名無しさん
18/08/09 01:26:42.15 fUyWPXJG.net
問題なのは、外部がユニコードの世界なのに、windows版のrubyは内部的にそうなってない所がまだあるのよ
内部で情報が欠落しちゃってるから、そこを変えないとまともにはならんわけ
windowsでは内部をUTF-8に決めちゃえばいいんだけどねえ

634:デフォルトの名無しさん
18/08/09 01:29:04.56 bbq6MBnq.net
>>608
APIでコンソールに出力してるから
なにがどうなの?

635:610の続き
18/08/09 01:29:50.60 bbq6MBnq.net
ruby なんたら.rb

636:デフォルトの名無しさん
18/08/09 01:30:27.46 fUyWPXJG.net
>>610
だから、コンソールへ


637:は普通にユニコードを書き出せてるからそこに問題があるわけじゃないんだよ



638:610の続き
18/08/09 01:30:54.45 bbq6MBnq.net
>>611のコマンド|

639:デフォルトの名無しさん
18/08/09 01:31:25.52 bbq6MBnq.net
nkf CP932に変換するオプション
ってやれば、APIでコソンールに出力した結果が
UTF-8からCP932に変わるぞ。

640:クソ5chのせいで書き込みテストしてた
18/08/09 01:32:23.81 bbq6MBnq.net
>>608
APIでコンソールに出力してるから
なにがどうなの?
ruby なんたら.rb | nkf CP932に変換するオプション
ってやれば、APIでコソンールに出力した結果が
UTF-8からCP932に変わるぞ。

641:デフォルトの名無しさん
18/08/09 01:35:28.21 bbq6MBnq.net
>>612
だから、RubyがAPIでコンソールに出力しようとしたものを
パイプで標準出力に変更して、nkfで標準入力からAPIで読み取って
nkfでSJISに変換してからAPIでコンソールに出力すればいいだけでしょ?

642:デフォルトの名無しさん
18/08/09 01:36:28.36 bbq6MBnq.net
「windowsはAPIでコンソールに出力してるから」が
意味不明なんで意地悪してみたw

643:デフォルトの名無しさん
18/08/09 01:38:12.71 bbq6MBnq.net
ruby なんたら.rb | [nkf CP932に変換するオプション]
って書くと書き込みできないんだなー
ってあれ?できた?おかしいなw

644:デフォルトの名無しさん
18/08/09 01:39:04.01 fUyWPXJG.net
めんどくせえなあ。SJISに変換とかアホみたいなことしなくても、WriteConsoleWってAPI使ってユニコードで書き出すようになってるんだよ

645:デフォルトの名無しさん
18/08/09 01:39:15.49 bbq6MBnq.net
クソ5chの意味不明な制限で書き込めないときは
わざと5chに負荷をかけて細かく分けて書き込むことにしてる
すべては5chが悪い
>>608
APIでコンソールに出力してるから
なにがどうなの?
ruby なんたら.rb | [nkf CP932に変換するオプション]
ってやれば、APIでコソンールに出力した結果が
UTF-8からCP932に変わるぞ。

646:デフォルトの名無しさん
18/08/09 01:41:07.24 bbq6MBnq.net
>>619
だからchcp 65001してれば、
WriteConsoleWってAPI使ってユニコードで書き出したものを
ちゃんと表示できるし、
chch 65001しなくても
WriteConsoleWってAPI使ってユニコードで書き出したものを
ruby なんたら.rb | nkf [CP932に変換するオプション]ってやれば
ちゃんと表示できるっていってるだろ
WriteConsoleWってAPI使ってユニコードで書き出した
からなんだって言うんだ?

647:デフォルトの名無しさん
18/08/09 01:42:44.19 fUyWPXJG.net
chcpする必要なんてないってことだよ
もういいかげんわかって

648:デフォルトの名無しさん
18/08/09 01:42:47.80 bbq6MBnq.net
rubyの中でCP932のデータを扱おうとするから
バカを見るんやで? rubyの外側で変換すればいい
文字コードの問題なんてなんもありゃせん

649:デフォルトの名無しさん
18/08/09 01:44:29.76 bbq6MBnq.net
>>622
あのな、
chcp 65001しないと、
日本語のWindowsではコマンドプロンプトが
互換性のためにCP932モードになってるから
WriteConsoleWってAPI使ってユニコードで書き出したものを
そのまま表示すると、UTF-8をCP932だと解釈して文字化けするんやで?
だからchcp65001しろって言ってるんだが

650:デフォルトの名無しさん
18/08/09 01:46:19.73 bbq6MBnq.net
ちなみにWindowsは内部はUnicode(UTF-16)で扱われている
これはずっと前からだ

651:デフォルトの名無しさん
18/08/09 01:47:15.18 fUyWPXJG.net
表示できてて、そこは問題じゃないって言ってるのに、そんなに問題があることにしたいのか

652:デフォルトの名無しさん
18/08/09 01:49:18.61 bbq6MBnq.net
>>626
それはRubyのソースコードがCP932になってるから、
俺は最初からRubyをUTF-8で書けと言ってる。
いい加減CP932から離れろよ。
そんなもんRubyの外部で変換すりゃいいだけの話なんだよ
URLリンク(www.rubylife.jp)
> そしてプログラムを保存する時は文字コードをUTF-8に指定して保存します。
>
> 通常はこれでいいのですが、Windowsで標準出力としてコマンドプロンプトを
> 使用している場合、コマンドプロンプトの文字コードがShift_JISのため
> そのまま「print」メソッドなどで出力すると文字化けします。

653:デフォルトの名無しさん
18/08/09 01:50:52.45 bbq6MBnq.net
RubyのせいにしたいのかWindowsのせいにしたいのか知らんが
結局文字コードについてちゃんと理解してないだけじゃねーかw

654:デフォルトの名無しさん
18/08/09 01:56:15.25 p715oxsr.net
これも全部文字コードが乱発されてるのが悪い
なんでこんなに増えちゃったん?

655:デフォルトの名無しさん
18/08/09 01:59:58.57 bbq6MBnq.net
アホメリケンが1ビットも惜しいとか抜かして
1文字で7ビットのASCIIコードを作ったのがそもそもの問題
最初から全世界の文字が入り切る24bitぐらいに
していればこんな問題は起きなかった

656:デフォルトの名無しさん
18/08/09 02:03:35.96 bbq6MBnq.net
今のUnicodeの全文字数を表すには、17ビットじゃたりないんだな
18ビットあればしばらくは対応できるだろうが十分かと言われると心もとないな
最低でも20ビットぐらいほしいかな

657:デフォルトの名無しさん
18/08/09 02:38:39.80 ro52D2nE.net
>>607


658: 外部ツールを使うこと前提は普通対応しているとか使えるとはいわなくね? WINEを使えばLinuxでも動くからLinux対応などとうたうWindowsアプリケーションはほとんどないし逆も同様 コードページをUTF-8にしろだのnkfをつかえだのナンセンスすぎる Windows標準のキャラクタコードはUnicodeか日本ならCP932だし、変換もRubyで完結できるべきだ



659:デフォルトの名無しさん
18/08/09 04:43:02.02 V297VUOg.net
なんや?
アンチはRubyの文字環境の設定もしらんのか?
しったかばっかりしとるツケやな

660:デフォルトの名無しさん
18/08/09 06:35:40.44 DDec2yNS.net
WindowsでRails開発してるけどcloud9使ってるからWindows環境に依存しない
そもそも環境構築すらいらん
クッソ楽だよ

661:デフォルトの名無しさん
18/08/09 07:06:07.44 xHgFHFx+.net
VSCode から、PowerShell を使えば、UTF-8 だから問題ない
ただし、Windows で、irb は日本語でバグるから使えない。
irb を使う時は、WSL から使う

662:デフォルトの名無しさん
18/08/09 07:30:43.69 0kLiomIS.net
おいおいRubyistはVSCode使っちゃダメだぞ
VSCodeはJSをわざわざ静的型言語に魔改造したTypeScriptによって作られている
そんなものをRubyistが使うということは、静的型の勝利を認めるようなものだ

663:デフォルトの名無しさん
18/08/09 07:35:03.56 FPQoEIfF.net
糖質乙

664:デフォルトの名無しさん
18/08/09 10:40:37.59 9RYWVA0H.net
そんなこと言ったらそもそもさんざんバカにしてきたjavascriptで動いてるVSCodeなんて恥ずかしくて使えないだろw

665:デフォルトの名無しさん
18/08/09 11:09:39.07 NXkdt6vr.net
>>603
chcp 65001 は糞だな
git for windows の bash 使うと utf-8 で統一出来る

666:デフォルトの名無しさん
18/08/09 11:25:09.25 hJgBQsKI.net
故Coffeeが押されてた頃以来しばらくRails触ってないから最新の事情に疎いんだけど、今のRailsでは生JSかbabelが普通?
さすがにまさかTypeScriptは意味不明なダブスタ状態になるからありえないとは思うけど

667:デフォルトの名無しさん
18/08/09 11:38:01.60 FPeke3PG.net
静的言語にものすごいコンプレックスあるんだな

668:デフォルトの名無しさん
18/08/09 12:45:27.94 VXkLrSCu.net
そうなんです
物凄いコンプレックスがあるんです
夜も眠れません

669:デフォルトの名無しさん
18/08/09 14:22:48.49 ohdBTUS2.net
そもそもWindowsで開発ってエンジニアとして恥ずかしいからやめな
ド素人専用OSだから

670:デフォルトの名無しさん
18/08/09 15:01:11.67 SXE6an9g.net
そんなこと言ったら、rubyで開発とか恥ずかしいよ

671:デフォルトの名無しさん
18/08/09 15:54:50.43 cj+buD3F.net
>>632
> 外部ツールを使うこと前提は普通対応しているとか使えるとはいわなくね?
対応して無くていいよ。Unicode(UTF-8)だけに対応していれば十分

672:デフォルトの名無しさん
18/08/09 19:54:10.11 FPQoEIfF.net
>>640
Webpackerが基本だから好きなの使えばよろし

673:デフォルトの名無しさん
18/08/09 22:07:11.04 VXkLrSCu.net
Pythonが2018年も人気ナンバーワン言語に - Rubyは13位へ
URLリンク(www.softantenna.com)
>日本生まれのプログラミング言語Rubyの順位は昨年の12位から13位へと一つ順位を落としています。

674:デフォルトの名無しさん
18/08/09 22:10:32.15 VXkLrSCu.net
URLリンク(findy-code.io)
↑「衰退するかもしれない言語」のRubyのグラフ凄すぎ

675:デフォルトの名無しさん
18/08/10 00:57:10.05 brZGYtP0.net
RubyInstallersのRuby + Devkit 2.5.1-2(x64) でインストールしたら
トロイの木馬検知したんだけど、これ大丈夫なんか……

676:デフォルトの名無しさん
18/08/10 09:30:05.88 YB7aDEkK.net
基本、主流のレンタルサーバではどこもRuby標準�


677:部セろ 個人でやるならRubyしか手は無いぞ?



678:デフォルトの名無しさん
18/08/10 09:36:16.62 umhN1xPo.net
ここにもWindowsアンチがいますね

679:デフォルトの名無しさん
18/08/10 09:43:53.11 6tv0/oL9.net
pythonも標準装備です。
ただしどちらもかなり古いのしか入っていないです。
URLリンク(help.sakura.ad.jp)さくらのレンタルサーバ-基本仕様
今だに1.8.7って・・・

680:デフォルトの名無しさん
18/08/10 09:57:36.47 xFUN9Bm6.net
>>650
管理者権限のないレンサバでやるとか拷問好きの変態だけだろ

681:デフォルトの名無しさん
18/08/10 10:15:24.49 6tv0/oL9.net
xxenvが使えりゃ取り敢えずなんとかなるけどな。
pathに嵌ったりするけど。

682:デフォルトの名無しさん
18/08/10 19:54:03.17 zkC5iPOW.net
今はVPSとかHerokuとかそういうの使う方が主流だよね

683:デフォルトの名無しさん
18/08/10 20:43:42.88 USnz8/j9.net
>>651
教祖がWindowsアンチだから仕方ない
残念だがRuby界においてWindows使いに人権はない

684:デフォルトの名無しさん
18/08/11 11:11:35.63 7RaYhU06.net
ヘロクくっそ高いからどうなんだろ

685:デフォルトの名無しさん
18/08/11 11:26:47.51 XbF2QFnV.net
宗教以外で今時Herokuを選ぶ理由はないでしょ
PaaSならGCPとかAWS Lightsailとかにしとけ
HerokuとAWS/GCPじゃスキルとしての価値にも差がありすぎる

686:デフォルトの名無しさん
18/08/11 11:35:49.25 /QURPuCG.net
へ、ろくなことないな

687:デフォルトの名無しさん
18/08/11 14:03:49.96 4P7sy+nG.net
へろくあさく

688:デフォルトの名無しさん
18/08/11 18:57:17.82 Llo9t+It.net
いやしかし機械学習という神風でPythonがRubyを吹き飛ばしたよね
特にこれから始めようとする人で、Ruby選ぶ人って激減なんじゃないかと

689:
18/08/11 20:01:06.87 vW2Ha+vq.net
>>661
このお盆休みに Rails をやっているのだけれども…

690:デフォルトの名無しさん
18/08/11 20:43:53.14 XIJj5NjC.net
>>661
機械学習とWeb系は別物だからね
適材適所ということだね

691:デフォルトの名無しさん
18/08/11 20:58:17.22 ZIqkCNIu.net
Rails使う奴らが他言語使いを見下しているから嫌われるんだよ

692:デフォルトの名無しさん
18/08/11 22:08:57.73 nLKVRTP/.net
今更Railsはなあ
第2のPHPとして当分は健在だろうけど、もう美味しい時期をとっくに過ぎてRails専のエンジニアは買い叩かれてるのが現状

693:デフォルトの名無しさん
18/08/11 22:20:15.20 3iVckqAr.net
python用のwebフレームワークもいくつかあるけど、railsの出来には全然かなわんの?
rubyもnumpyとかあればなあ

694:
18/08/11 22:27:06.60 vW2Ha+vq.net
>>665
みなPHPに移ったんですか?

695:デフォルトの名無しさん
18/08/11 22:33:39.18 edehoOie.net
>>666
Rubyの言語仕様はイカれてるからな。
よくもわるくも。

696:デフォルトの名無しさん
18/08/11 22:43:26.29 XIJj5NjC.net
>>666
Django が一番有名なんだろうけど、開発スピードは Rails の足元にも及ばないね

697:デフォルトの名無しさん
18/08/12 01:48:34.69 evL76NL4.net
>>576,577
関数型プログラミングという視点であれば、JS は良い言語だね
どちらも出発点として関数型言語をベースに設計された言語だから、当然の帰結と言える:
 スレリンク(tech板:857番)/
ただし、あえて「Rubyによる関数型プログラミング」に慣れると
JS にイラッと感じる(=楽しくない)のは:
・条件分岐の if/switch が(式ではなく)文であること
  Ruby であれば if/switch (を含め


698:て「あらゆるすべて」)は式だから、ML や Haskell と同様、   いちいち一時変数を持ち出さずに書ける ・匿名関数の function() は煩わしい   匿名関数が多用されるのは map/filter といった関数を引数渡しするケースだけど、   Ruby であればブロック引数という独特な構文があるから簡潔に書ける ってことかな(あくまで個人の感想ですが) ちなみに、これらの感想は以下の文書からの受け売りだったりします: ・Rubyによる関数型プログラミング  (*1) URL はNGワード規制によってカキコできないので、  もしも興味のある人は「Rubyによる関数型プログラミング Arnau Sanchez」でググッてください なお、この文書で筆者は:  Rubyは基本的には命令型言語であるけれど、 関数型プログラミングへの際立った潜在能力がある と断じています (*1):規制されるほど、この文書はム板管理者にとってヤバイ内容が含まれているんですかねぇ?    2012年と5年も昔に公開された、今のRuby使いにとっては常識的な中身だと思うんですけど



699:デフォルトの名無しさん
18/08/12 01:58:20.16 km10YFtC.net
def式じゃないじゃんjsのfunctionは式だぞ

700:デフォルトの名無しさん
18/08/12 02:01:02.80 evL76NL4.net
>>577
>Rubyは第一級関数ではないという致命的な欠陥がある

JSとは異なり、Rubyだと関数は一級市民ではない」という指摘を
具体的なコードで示したのは、おそらく自分が最初だと思うけど:
 スレリンク(tech板:210番)/
そこでもカキコしたように「制限」であって「致命的な欠陥」ではないんだよね
>>670でも書いたように、一級市民としての関数が重要になるのは
メソッド(or 関数)の引数値として匿名関数を渡すケースだけど、
Ruby ではまさにその目的のためブロック引数という特殊な構文が用意されている
もし反論があるなら、具体的なコードで示したほうが理性的ではないかと思われます

701:デフォルトの名無しさん
18/08/12 02:10:52.79 evL76NL4.net
>>671
関数型プログラミングを実践すると自然に匿名関数を多用することになるわけですけど、
JS はいちいち function とタイプしないといけないから煩わしい、という意味です
たとえば ML族の Standard ML だと fn、同 OCaml だと fun、Haskell に至っては
¥ が匿名関数を表すキーワードです
ここまで「JavaScript による関数型プログラミング」が普及し常識になった現時点で
振り返れば、function ではなく fn とか fun という予約語にできなかったのか?と
なお、関数宣言のキーワード function は、それが宣言を目立たせる意味で長いキーワードを
採用したと考えれば、納得できるのですけどね

702:デフォルトの名無しさん
18/08/12 02:47:33.34 2UQfVx23.net
Ruby にはブロックスコープがあるし、
関数スコープでは、関数外部からの変数を通さない
Rubyの偽は、false, nil の2つだけ
Rubyは厳格だけど、JS, Python, PHP などは、ややこしい

703:デフォルトの名無しさん
18/08/12 08:39:08.05 PenCp7yX.net
>>673
> JS はいちいち function とタイプしないといけないから煩わしい、という意味です
なるほど。ではこのコードのどこにfunctionがあるのでしょう?
var materials = [
'Hydrogen',
'Helium',
'Lithium',
'Beryllium'
];
console.log(materials.map(material => material.length));
// expected output: Array [8, 6, 7, 9]

704:デフォルトの名無しさん
18/08/12 10:53:04.11 avkK3Y0e.net
ruby狂信者に「他言語では…」って話しすると黙りこくって見下すのは経典に書いてるのか?
どんなruby狂信者に聞いてもど�


705:「つも同じ精神なのがものすごく気持ち悪い アレなんなんだろうな



706:デフォルトの名無しさん
18/08/12 13:10:26.06 Z9n0yF1g.net
Rubyは左翼言語だからね

707:デフォルトの名無しさん
18/08/12 13:15:59.90 rtSL/abo.net
>>664
見下される側なのにな

708:デフォルトの名無しさん
18/08/12 13:22:05.89 rtSL/abo.net
>>670
rubyに関する内容がヤバイんじゃなくて
archive。fo
がだめなだけ

709:デフォルトの名無しさん
18/08/12 15:02:35.22 YGBUsYMx.net
>>675
それ、もうブラウザでも使えるんだっけ?
JavaScriptは新機能を使っていいかどうか、いちいち考えないとイカンのがめんどくさい。
なおRubyも、バージョンのよる差異がうざい模様。

710:デフォルトの名無しさん
18/08/12 15:37:44.45 f+bxV/sn.net
rubyって昔複数引数取る関数
foo bar baz
って書けたよね。
でも今は
foo bar, baz
だよね。

711:デフォルトの名無しさん
18/08/12 15:50:08.86 ZHEExUj+.net
>>681
1.8.7でも foo bar baz は foo(bar(baz)) なんだね

712:デフォルトの名無しさん
18/08/12 16:22:12.92 evL76NL4.net
>>675
失礼しました、ES2015(ES6)で導入されたアロー関数ですね
ということで、>>670 の:
>・匿名関数の function() は煩わしい
という項目に関しては取り下げます

>>680
調べてみると、主要なブラウザの最新版であれば利用できるようです
まあ JS も Ruby も新機能の扱いを「めんどくさい」とか「うざい」と
感じることはあります
ただし、どちらも「後方互換性の維持」という言語進化の基本原則を
遵守しているのは共通していますから「新機能を使わない」という
選択肢も残されているわけです

713:デフォルトの名無しさん
18/08/12 16:28:13.10 fdgGBvne.net
bar が関数じゃなければいい

714:デフォルトの名無しさん
18/08/12 16:28:29.68 evL76NL4.net
>>679
情報提供、ありがとうございます
MANGO板にて特定のページが規制されているのではなく、
サイト全体が規制されていることを確認できました
・NGワード絞り込みスレッド★118
 スレリンク(mango板:324番)-326/

715:デフォルトの名無しさん
18/08/12 16:34:41.05 evL76NL4.net
>>681
昔って、いったいいつの時代なんだろう
自分は 1.6 の時代だからかれこれ20年は使ってるけど、
foo bar baz と書けたという記憶が無い
もしかすると 1.4 とかそれ以前には書けたのかな?
興味深いね

716:デフォルトの名無しさん
18/08/12 18:33:45.33 YGBUsYMx.net
>>683
JavaScriptはともかく、Ruby は「後方互換性の維持」を遵守しないぞ。
バージョンアップは、過去のコードをだいたい壊す。
次も、文字列の原則immutable化が控えているだろ。

717:デフォルトの名無しさん
18/08/12 18:46:02.88 f+bxV/sn.net
それはjs以外たいていみんなそうなんじゃ?pythonしかり。

718:デフォルトの名無しさん
18/08/12 18:50:42.36 U04Z7MLo.net
>>168
今どきにbabelも使わずフロント開発してるところなんて業務系SIerくらいしかないでしょ

719:デフォルトの名無しさん
18/08/12 18:59:19.04 U04Z7MLo.net
>>683 のミス

720:デフォルトの名無しさん
18/08/12 22:37:17.71 YGBUsYMx.net
>>688
互換性維持の優先が高い言語はあるぞ。
C,C++,C#,Perl5はずっと更新されてきてるが、過去のコードを壊したことがほとんどない。
RubyやPythonと違って、システムの重要なところを担ってる自覚がある模様。

721:デフォルトの名無しさん
18/08/12 22:37:51.94 evL76NL4.net
>>687
>JavaScriptはともかく、Ruby は「後方互換性の維持」を遵守しないぞ。
いや、Ruby は(も?)新機能の導入には保守的ですよ
たとえば Ruby の特徴である既存のクラスの振る舞いを後から上書きできる
オープンクラス、これには利点と欠点が共存してるけど、これに対応しようとする
refinement の提案は「後方互換性の維持」を理由に却下され続けたけど、
その壁を乗り越


722:えてようやく 2.1 で採用された もしも遵守しない例があるなら、具体的なコードで示してね(>>675 みたいに) >次も、文字列の原則immutable化が控えているだろ。 え、frozen_string_literal オプションがあるでしょ? >>688 いやぁ、バージョンアップしたら Hello world すら構文エラーになる Python みたいな 言語などとは一緒くたにされたく無いですね ・Rubyの設計上の欠点とは何か?  https://mevius.5ch.net/test/read.cgi/tech/1413113999/123-126/ Python2 の時点ですら全プログラミング言語でも人気トップ10、スクリプト系言語に限れば 圧倒的に首位を独走というメジャーな言語が、Hello world すら構文エラーになるという 基本原則「後方互換性の維持」を頭から無視したバージョンアップを断行するなんて、 過去のプログラミング言語の歴史を振り返ってもあり得なかった歴史的快挙(暴挙?)ですよ とうていマイナー言語の Ruby なんかじゃあ到底まねできないですわ



723:デフォルトの名無しさん
18/08/12 22:53:39.94 YGBUsYMx.net
>>692
結局、互換を壊してるじゃん。w
そんなのは保守的と言わないんだよ。
多少の不満は飲み込んででも、過去のコードを重視しないといけない。
オプションで選択できるとか、いいわけにならん。
例が知りたきゃググれ。
スコープとかメソッドとかいろいろあって、思い出すのもバカらしい。
ま、それがRubyの道なんだろうから、それはそれでいいんだよ。
ヘンに言い繕わずに、互換性は低いと冷静に受け入れてれば。

724:デフォルトの名無しさん
18/08/12 23:37:02.17 f4ISMjBp.net
現実無視の机上の空論w
昔のC/C++コードを一切の修正なしで再利用できるケースが実際にどれだけあるというのだ

725:デフォルトの名無しさん
18/08/12 23:42:34.82 2UQfVx23.net
>>683
JS のアローと、function()無名関数は、スコープ・this の挙動が異なる
非同期処理などで異なる。
別のもの
JSは、Rubyの影響を受けて、ドンドン変化していく

726:デフォルトの名無しさん
18/08/13 01:14:37.00 0A70z83v.net
>>694
え?w

727:デフォルトの名無しさん
18/08/13 05:17:38.38 LxScEq40.net
>>693
>オプションで選択できるとか、いいわけにならん。
では、以下のコードを python3 で動かす方法はあるんですか?
 スレリンク(tech板:126番)/
え、オプションすら存在しないのぉ???
オプションすら許さない >>693氏のオレ様基準に従えば、
いいわけ以前の「後方互換性の断絶」であり「致命的な互換性の問題」ですね

>例が知りたきゃググれ。
>スコープとかメソッドとかいろいろあって、思い出すのもバカらしい。
え、これだけ「Rubyはゴカンセイガァー」と騒いでおいて、
ご自身では具体的なコードすら書けないんですか?
情けないですね、自分ならスコープやらいくつかRubyに関する
「些細な互換性の問題」を示してあげることもできるんですけど

>ヘンに言い繕わずに、互換性は低いと冷静に受け入れてれば。
いやぁ JS と比較すれば互換性は低いですよ
あちらはECMAScriptという国際標準の強い縛りがありますからね
でも Hello world すら動かなくなる最底辺 Python と比較すれば遥かに高い
そもそも具体的なコードも示せないくせに、
ナゼか「上から目線で」オレ様理論を押し付けるのは、
Rubyアンチに共通する性癖ですね

728:デフォルトの名無しさん
18/08/13 08:54:49.38 aWjwgJVg.net
Selenium WebDriver を使って、Nokogiri で、DOM を構築して、
JavaScript(JS) を使って、そのDOMで、body 以下を更新しようとしたが、エラーになる
つまり、DOMの構築には、JSではなくNokogiriを使った。
なるべく、JSではDOMを構築したくない。面倒だから
p inner_body = %(<div class="thread">あ</div>) #=> "<div class=\"thread\">あ</div>"
jsCode = <<"EOT"
var element = document.querySelector('body');
element.innerHTML = "#{ inner_body }";
EOT
driver.execute_script jsCode # JavaScript を実行
ただし、下のように書くと、body以下は正常に更新される。
element.innerHTML = '<div class="thread">あ</div>';
違いは「\"thread\"」の、ダブルクォーテーションのエスケープなのかな?
Nokogiriで構築したDOMを、JSにどうやって渡せば良いのか?

729:デフォルトの名無しさん
18/08/13 09:17:49.80 TQG/Mzv/.net
> Nokogiriで構築したDOMを、JSにどうやって渡せば良いのか?
うん、でもいま面倒なことになってるよね?

730:デフォルトの名無しさん
18/08/13 12:07:18.53 BGJ7CoIJ.net
>>686
試してみようと思ったんだけど1.6より前のバージョンどっからダウンロードすればいいんだ…
URLリンク(www.ruby-lang.org)

731:デフォルトの名無しさん
18/08/13 13:11:20.37 0A70z83v.net
>>697
Rubyアンチアンチは、だからめんどくさいんだよな。
そんなに必死にならんでもええよ。w

732:デフォルトの名無しさん
18/08/13 20:08:09.68 1mtdXF6K.net
それがルビリスト
皆呆れてるだろうが
個人的にすごく良い流れなので
もっと頑張れ

733:デフォルトの名無しさん
18/08/13 20:18:46.74 1mtdXF6K.net
一言で言えば左翼と同じメンタル
何故そうなるかは長くなるから書かないけどな

734:デフォルトの名無しさん
18/08/13 21:11:49.15 xCIuVPx6.net
政治の話は無駄に荒れるからやめろ

735:698
18/08/13 23:52:36.83 aWjwgJVg.net
p inner_body = %(<div class="thread">あ</div>) #=> "<div class=\"thread\">あ</div>"
以下は、jsCode を、puts, p したもの
(A) element.innerHTML = "#{ inner_body }"; の場合
var element = document.querySelector('body');
element.innerHTML = "<div class="thread">あ</div>";
"var element = document.querySelector('body');\n
element.innerHTML = \"<div class=\"thread\">あ</div>\";\n"
(B) element.innerHTML = '<div class="thread">あ</div>'; の場合
var element = document.querySelector('body');
element.innerHTML = '<div class="thread">あ</div>';
"var element = document.querySelector('body');\n
element.innerHTML = '<div class=\"thread\">あ</div>';\n"
A は、" の対応が崩れるから、ダメ。
一方、B は正常に処理される
どうやれば、変数をBのように展開できるのか?

736:デフォルトの名無しさん
18/08/14 00:10:36.77 ALsxTVnQ.net
'#{ inner_body }'

737:698
18/08/14 00:39:13.09 6NKcX7Ow.net
p inner_body = %(<div class="thread">あ</div>) #=> "<div class=\"thread\">あ</div>"
以下は、jsCode を、puts, p したもの
>>706 の、
(C) element.innerHTML = '#{ inner_body }'; の場合。
>>705 の(B) と全く同じになった!
var element = document.querySelector('body');
element.innerHTML = '<div class="thread">あ</div>';
"var element = document.querySelector('body');\n
element.innerHTML = '<div class=\"thread\">あ</div>';\n"
"#{ inner_body }"
'#{ inner_body }'
まさか、シングルクォーテーションで変数展開できるとは!
神!

738:698
18/08/14 00:47:37.74 6NKcX7Ow.net
5ch ブラウザみたいに、スレに書き込んである画像のURL を、
自動的に、<img> に展開して表示するものを自作している
Selenium WebDriver を使って、Nokogiri で、DOM を構築して、
JavaScript(JS) を使って、そのDOMで、body 以下を更新しようとしている
わざわざ、Sinatra, Vue.js などを使うまでもない。
標準添付ライブラリのERB は、使っても良いかも

739:デフォルトの名無しさん
18/08/14 10:11:41.38 UwXfpacN.net
>>703
なるほど
腑に落ちる意見

740:デフォルトの名無しさん
18/08/14 10:12:57.81 QAItGFSf.net
自演乙

741:デフォルトの名無しさん
18/08/14 19:28:42.42 0jKmoemw.net
Action Cableを使用してるアプリってもうある?

742:デフォルトの名無しさん
18/08/14 20:22:35.95 cWcfj41B.net
BIOSが夏時間に対応していると、OSの時刻までずれてしまう
これ比較的最近の話だからな

URLリンク(naitaku.hatenablog.com)
> RTCにはタイムゾーンや夏時間を扱う仕組みは一般にはありませんので、
> OS側でタイムゾーンや夏時間を管理することになります。
> (実はRTCに夏時間を扱う仕組みがあって誤発動したというのが今回の原因なのですが)
> RTC の Daylight Savings Enable (DSE) という機能について
> 現代のOSでは上で述べたようにタイムゾーンや夏時間を管理しているのですが、
> 昔(DOSとかの時代?)はOSはそんな賢い機能はなくRTCの時刻がそのままローカルタイムでした。
> そんな時代に夏時間を扱うためにハードウェア的に実装されたのが DSE という機能です。
> またブコメで「日本のタイムゾーンにしていれば夏時間は自動的にオフになるはず」というものがありましたが、
> DSEの設定値はOS上の夏時間の設定とは無関係です。OSは上で述べたように夏時間を管理していますので
> RTCが勝手に1時間進んだり遅れたりすることは想定していないはずです。
> したがって現代のパソコンではDSEは無効になっているのが正しいです。

743:698
18/08/14 23:59:51.71 6NKcX7Ow.net
p inner = %(a"あ"b) #=> "a\"あ\"b"
outer = <<"EOT"
'#{ inner }'
"#{ inner }"
'X'
"Y"
EOT
以下は、outer を、puts, p したもの
'a"あ"b'
"a"あ"b"
'X'
"Y"
"'a\"あ\"b'\n
\"a\"あ\"b\"\n
'X'\n
\"Y\"\n"
つまり、#{ inner } だけが変数展開されているだけ。
ヒアドキュメント内の、', " は、そのまま表示されているだけだった

744:デフォルトの名無しさん
18/08/15 08:50:55.79 WdeJX/bN.net
Ruby FFIを使ったエクステンションの作り方
URLリンク(kazegusuri.hateblo.jp)
FFI(Foreign function interface)
コンパイルがいらない、多言語を呼び出すためのインターフェイス
RubyにおけるFFIは、libffi
こんなのがあるのか
Windows で、クリップボード機能を使おうとして、
win32-clipboard gem の文書を見ていて、FFIを見つけた

745:デフォルトの名無しさん
18/08/15 09:06:42.26 pqG57C1I.net
だからなんだよいちいちうるせえな
リファレンス全部読んでこい

746:デフォルトの名無しさん
18/08/15 23:20:26.11 0fz536jj.net
なにか嫌なことでもあったのかな

747:デフォルトの名無しさん
18/08/16 08:21:45.86 IiF9TGTT.net
str.chomp!.strip!
末尾の改行を削除して、先頭末尾の空白を削除するのを、メソッドチェーンで書いたけど、
chomp! は、改行がない場合に、nil を返すのでエラーになる
メソッドチェーンに出来ないから、分けて書くしかない
str.chomp!
str.strip!
nil を返す可能性があるものは、メソッドチェーンに出来ない

748:デフォルトの名無しさん
18/08/16 08:53:49.22 6O1Mze69.net
&.

749:デフォルトの名無しさん
18/08/16 09:05:20.86 IiF9TGTT.net
拡張子で、画像ファイルかどうかを判別する際に、
大文字の拡張子を、downcase で小文字に変換して判別していますが、これで良い?
それとも、String#casecmp を使う方が良いの?
どう書けば良いの?
file_extname = ".JPG"
# . を削除して、小文字にする
file_extname.delete!(".").downcase!
extnames = %w(png jpg jpeg gif) # 画像の拡張子
extnames.include? file_extname # 含まれている?

750:デフォルトの名無しさん
18/08/16 09:50:44.21 QAd5iU0A.net
>>717
str = " \tfoo\t \n" #=> " \tfoo\t \n"
str.strip! # => "foo"

751:デフォルトの名無しさん
18/08/16 13:00:48.11 JKxb8y7B.net
>>719
file_extname.delete!(".").downcase! は
file_extname.delete!(".")&.downcase!
とでもしないとfile_extnameにドットがない時にエラーになる
ドットから始まることが分かってるなら
hoge = file_extname[1..-1].downcaseとでもすべきだし
ドットから始まることが分かってないなら
file_extname[/\.\K[^.]+$/]的なことでもしないとだめ
そもそもfile_extnameを破壊的に変更するのがそもそも気持ち悪い
extnames = %w[jpg gif png]
path = '/hoge/fuga/hage.jpg'
file_extname = File.extname(path)
extnames.include?(file_extname[1..-1].downcase) if file_extname[0] == '.'

752:デフォルトの名無しさん
18/08/16 13:13:38.65 JKxb8y7B.net
ていうかこのくらいの処理なら正規表現で書くわ
file


753:s = [ '/hoge/fuga/piyo.jpeg', '/hoge/fuga/piyo.piyo.JPg', '/hoge/fuga/png', '/hoge/fuga/gif.txt' ] files.each {|f| p f.match?(/\.(?:jpe?g|gif|png)\z/i) } #=> true true false false



754:デフォルトの名無しさん
18/08/16 17:05:40.50 dflIWUnx.net
Ruby de GUI for Windows
RScript(ActiveScriptRuby)→良くも悪くもHTA、要インストール、最新版に追従していない
wxWidgets(wxRuby)→高機能、環境構築が面倒、機能によっては罠があったり不安定だったり、コントロール類のデザインに手間がかかる
Tcl/tk(Ruby/Tk)→導入が容易、機能面はwxRubyに劣る、コントロール類のデザインに手間がかかる
fiddle(WindowsAPI)→何でもできる、配布サイズが小さい、茨の道
(Webブラウザ組み込み型→現状なし?、出てきたとしても配布サイズの肥大化は不可避)

755:デフォルトの名無しさん
18/08/16 18:56:52.96 wbWtiV7F.net
>>723
FXRubyとかはどうなん?

756:デフォルトの名無しさん
18/08/16 20:14:41.09 R55yZ6lr.net
拡張子発明したやつ天才だわ
名前にファイルの種類を埋め込むとか一見ダサそうだけど理にかなってる
一方でマックバイナリは糞だわ

757:デフォルトの名無しさん
18/08/16 20:28:51.12 yarUS0V8.net
RubyやRailsの認定試験は役に立つ?

758:デフォルトの名無しさん
18/08/16 20:33:53.69 R55yZ6lr.net
拡張子の何が凄いって
あくまでそれが何であるか種類を表しているだけで
どう扱われるかはOSの設定次第ってところ
これがRubyみたいな古い考えの頭のやつがやると
ファイルは自身がどう扱われるべきか知っているべき
とかアホみたいなこと考えだして
マックバイナリみたいな糞が出来上がる
だが実際には拡張子ぐらいが一番使いやすい

759:デフォルトの名無しさん
18/08/16 23:39:01.83 IiF9TGTT.net
>>721
>file_extname.delete!(".")&.downcase!
&. こういう演算子が出来たのか
Ruby の &. と #try の違い
URLリンク(secret-garden.hatenablog.com)
Ruby 2.3 で、Safe Navigation Operator(&.)という新しい演算子が追加された

760:デフォルトの名無しさん
18/08/17 23:46:41.00 Ho6XjkKO.net
シンボルリテラルってなんのためにあんの?

761:デフォルトの名無しさん
18/08/18 00:19:00.23 Aune6CZV.net
>>729
メタプログラミングのため
ソース上に現れる変数名やメソッド名とかってソースを解析する時点で全て把握できてるわけだから、
それを予め数値に置き換えてしまうことで効率よく扱おうという伝統的なコンパイラ技法があるんだけど、
Rubyはメンバ検索の動作を独自に定義できたりするので、その置き換え後の数値をRuby上のデータとして扱えなければならない
そのために用意されてるのがシンボルオブジェクトでありシンボルリテラルである
一方で、数値じゃなくて変更不能な文字列を使えばそんなもん要らなくね?という説もあって、実際Matzもそうすべきだったと失敗を認めている
というわけで、今となっては変更不能でちょっと不便な文字列のようなもの、以上の意味はない

762:デフォルトの名無しさん
18/08/18 00:44:14.43 Aune6CZV.net
ちなみにRails専用DSLに成り下がって以降のRubyではRailsの影響でシンボルをキーにしたHashを引数に渡すということがよく行われるけど、
これはクォーテーションより:の方が書くのが楽だからとか、
文字列よりシンボルをキーに使ったほうがハッシュの検索が速いと信じられていた(今のRubyではこれは正しくない)からといった
あまり本質


763:的でない理由によるもので、シンボルじゃなくて文字列でも何の問題もないよ



764:デフォルトの名無しさん
18/08/18 01:15:49.75 oFUm5YlZ.net
>>729
不変性と同値時の同一性が保証された文字列は便利でよく使うから
不変だと特にハッシュのキーとして安全に運用できる
多数出現する同値を同一にできるとメモリが節約できる

765:デフォルトの名無しさん
18/08/18 13:39:59.13 L9SCjUBJ.net
>シンボルじゃなくて文字列でも何の問題もないよ
うわあああああw

766:デフォルトの名無しさん
18/08/18 14:45:55.55 h7OdrOPI.net
frozenになるだけでオブジェクトは別に作られるのかと思ったらこれじゃ本当にSymbolと変わんねえなw
でもSymbolもなんだかんだ好きだけど
ruby --enable=frozen-string-literal -e 'p 1000.times.map{"foo".object_id}.uniq'
#=> [20966820]

767:デフォルトの名無しさん
18/08/18 14:49:31.46 h7OdrOPI.net
あもともとfrozenな文字列は使いまわしてたのか
$ ruby --disable=frozen-string-literal -e 'p 1000.times.map{"foo".freeze.object_id}.uniq'
[20983260]

768:デフォルトの名無しさん
18/08/18 16:08:23.94 Aune6CZV.net
>>733
MatzがしれっとSymbolをStringのサブクラスに変更しようとしたの知らんのか
結局互換性の問題でMRIメンバーから大反対されて却下されたけど、
今Rubyを完全に再設計するならまず間違いなくシンボルリテラルは単なる文字列になり、Stringは常に変更不可になる
Railsのパフォーマンス改善のためにRubyに導入されたシンボルGCなんて、
それこそ本来のシンボルの意味からすると全く必要ないはずの馬鹿げた機能だ
もはや誰が見てもSymbolは事実上単なる文字列

769:デフォルトの名無しさん
18/08/18 18:57:05.66 IyhzoKxX.net
最下位bit使って
整数の範囲を減らしてまで
シンボル空間作ったのに
互換性無いですかそうですか

770:デフォルトの名無しさん
18/08/18 21:19:08.78 NYofKyoT.net
>>731
>メタプログラミングのため
後半の内容とは何ら関係しない
覚えたてのメタプログラミングって単語を使いたいだけちゃいますか

>Railsの影響でシンボルをキーにしたHashを引数に渡すということがよく行われるけど、
Railsで最初にRubyに触れた人にとってはそう感じるだろうけど、
ハッシュのキーとしてシンボルを使うのはRails以前から普通だったよ

>>736
>Railsのパフォーマンス改善のためにRubyに導入されたシンボルGCなんて、
シンボルGC導入のきっかけは(ブルートフォース攻撃に対する)セキュリティ対策だよ
パフォーマンス改善のために導入された文字列のfrozenデフォ化とごっちゃにしてる

771:デフォルトの名無しさん
18/08/19 00:22:38.83 EuNb7t2q.net
>>735
String#intern

772:デフォルトの名無しさん
18/08/19 00:23:34.71 EuNb7t2q.net
>>736
ヤツはホンマ互換性を軽視する輩やな。。。

773:デフォルトの名無しさん
18/08/19 01:31:27.62 wM6XArJ0.net
Selenium WebDriver, Nokogiri を使って、文字列からHTML を作って、
それをJavaScript で実行して、DOM を更新しているけど、
こういう原始的なやり方で良いのかな?
もっと、ERB とか、Vue.js みたいな、UI コンポーネント指向の書き方はできないのかな?
doc = Nokogiri::HTML(driver.page_source)
content_wrapper = doc.at_css("#content") # 全体の枠
# 画像ノード
img_wrapper_str = <<"EOT"
<div class="img_wrapper"><img></div>
EOT
picture_urls.each do | pict_url | # 画像のURL
img_wrapper = Nokogiri::HTML::DocumentFragment.parse img_wrapper_str
img = img_wrapper.at_css "img"
img.set_attribute('src', pict_url) # 属性
img_wrapper.parent = content_wrapper # 親
end
jsCode = <<"EOT"
var elem = document.getElementById("content");
elem.innerHTML = '#{ content_wrapper.inner_html }';
EOT
driver.execute_script jsCode # JavaScript を実行

774:デフォルトの名無しさん
18/08/19 08:45:22.44 vb2L7br6.net
すいません、


775:プログラミングの世界に最近初めて入ったんですけど C++やろうとしたら別のスレでRubyとjava勧められたのでやろうと思ってるのですが Rubyはプログラム初心者に向いてますか? それと実行環境はVisualStudioを使えますか? この2点教えてください



776:デフォルトの名無しさん
18/08/19 08:50:30.37 5Q8kr7ts.net
>>742
Rubyは開発陣がWindowsアンチばかりでWindowsとRubyは極めて相性が悪い
初心者云々以前に、Macに乗り換える気がないならRubyは論外
WinでスクリプトならPythonにしよう
絶賛落ち目中のRubyよりよほど将来性があるし初心者にもわかりやすいしWinで使いやすいしVisual Studioでもサポートされている

777:デフォルトの名無しさん
18/08/19 09:23:19.37 f0B2PJq7.net
アホか初心者が戯れにやる程度ならrubyもpythonも大差ねえよ

778:デフォルトの名無しさん
18/08/19 09:52:05.30 wM6XArJ0.net
RubyInstaller for Windows がある。
エディタは、VSCode
ただし、Windowsで、irb を使うと、日本語でバグるから、
irb だけは、Windows10 なら、WSL でLinux(Ubuntu)側から使う
paiza.IO, codepad などのサイトで、ブラウザからプログラミングするのが簡単。
他には、progate という学習サイトもある
環境構築には、数十のLinux コマンドも覚えるべき。
絶対・相対パス、環境変数PATH の仕組みなども知らないと無理
ruby -v
例えばこういう、ruby のようなパス無しのコマンドを入力すると、
どういう仕組み・順序で、PC 内から、そのコマンドの実行ファイルのある場所を探し出すのか?
つまり、こういうOS の知識がないと、
コマンドプロンプト・PowerShell などのシェルを使えない
ほとんどの人は、これらの勉強ができず環境構築ができないから、
環境構築のいらない、Excel エンジニアになるしかない!
つまり、プログラマーにはなれない人!

779:
18/08/19 10:20:51.08 bW/fB7v7.net
>>742
C++ をやるんだったら Java にすればいいと思います

780:デフォルトの名無しさん
18/08/19 10:58:48.68 vb2L7br6.net
>>743
そうなんですか。Win10使ってるんですけどやめたほうがいいですか...
別スレでC++始めるならまずたのしいRuby 第5版、2016 とスッキリjavaやってからにしとけって言われたので
聞いてみたのですがあまりよろしい選択ではなかったですか。
色々調べてみるとrubyは簡単な言語の上位にランクインしてたので覚えやすいのかなって思ってたんですが
PythonはVisualStudioで出来るんですね。いいこと教えていただきありがとうございます。
>>745
一応VisualStudioでRubyもやれるんですか
LinuXはOS?ですか?あまり良くわからないんですが、かなり敷居は高そうですね……
paiza等もブラウザで出来るみたいなんですが入力とかクラスとかの機能が使えないみたいで
色々不自由しそうで、なるべく実行環境整えたいのですが、今の段階では厳しいですか。
教えていただきありがとうございます。

781:デフォルトの名無しさん
18/08/19 11:04:10.79 dO2iwij6.net
今の覚えるならpythonの方がいい
悪いことは言わない勝ち馬に乗れ

782:デフォルトの名無しさん
18/08/19 11:07:38.97 f0B2PJq7.net
>paiza等もブラウザで出来るみたいなんですが入力とかクラスとかの機能が使えない
そんなことはない普通に使える
実行環境構築に自信がないならブラウザコンソールからJavascriptやっとけ

783:デフォルトの名無しさん
18/08/19 11:08:29.44 vb2L7br6.net
>746
別スレで教えていただきjava環境導入出来ました。ありがとうございます!
せっかくお勧めの入門書2冊教えてもらったので両方の言語やろうかなって思って聞いてました
少しでもC++の理解が簡単になるならやっとこうと思ったんですけど無意味ですかね

784:
18/08/19 11:17:54.14 bW/fB7v7.net
>>750 無意味ではないですよ…



786:デフォルトの名無しさん
18/08/19 11:20:28.30 vb2L7br6.net
>>748
そこまで本格的にやる予定ではなくて,
別スレでプログラム0から始める奴がC++からやっても理解できない。
たのしいRuby 第5版、2016 とスッキリ分かるjavaやってからにしろ!って言われて
少し遠回りしてでもやろうと思ってたんですが、今聞いた感じだとあまり入門者がやる言語ではないみたいですかね…
pythonとjavaとりあえずやってみます。ありがとうございました

787:デフォルトの名無しさん
18/08/19 11:28:00.78 oQXHWYB7.net
C++やるつもりならなおさらPythonがおすすめだな
Pythonは設計思想が比較的C系に近いからC++やJavaにも馴染みやすいよ
RubyはRubyが最高だと信じて閉じ籠って他の言語やりたがらない人が多い

788:745
18/08/19 11:42:35.15 wM6XArJ0.net
「たのしいRuby」「スッキリjava」は薦めたのは、俺だよ
Windows のユーザー・システム環境変数の設定画面を使えないと無理。
この画面の環境変数PATH を、穴のあくほど見つめる。
新しく何を追加したのか
絶対・相対パスの違い。
これがわからないと、VSCode で、PowerShell から実行できない
cd, ls などの、基本的な20ぐらいのLinux コマンドも覚えるべき。
PowerShell でも、そのまま使えるから。
例えば「cd ..」これの意味がわからないと、PowerShell を使えない。
コマンドプロンプトはややこしいから、なるべく使わない方が良い
C++ なんて、5年以上先の話。
環境構築できないと無理
paiza.IO, codepad などのサイトで、ブラウザからプログラミングするのを薦める。
progate という学習サイトで学習する人も多い

789:デフォルトの名無しさん
18/08/19 11:46:50.09 ql2A++ig.net
この人アレな人なんでアドバイス無視していいよ

790:745
18/08/19 11:50:54.76 wM6XArJ0.net
「たのしいRuby」「みんなのPython」「スッキリjava」の3冊を読めばよい
「たのしい・みんなの」の2冊は双子。
ただし必ず、たのしいから読むこと!
みんなのから読むと、わからないから苦戦する
ただし、みんなのは、AI・機械学習しない人には、無駄が多い。
ウェブ系なら、たのしいRuby
HTML, CSS, JavaScript も必要

791:デフォルトの名無しさん
18/08/19 11:59:42.65 EuNb7t2q.net
今からJavaをするくらいなら、C#をしたほうが一億倍はいいと思うが。
とくにWindowsなら。

792:デフォルトの名無しさん
18/08/19 12:01:03.16 AHbKk0RR.net
>>742
プログラミング言語は道具だ。道具を使って何をしたいか(目的)が重要なのではないのかな
逆に目的が決まれば適したプログラミング言語も自然と絞られてくる
なんとなくならメジャーなのをやっておけとしか・・・

793:745
18/08/19 12:04:48.91 wM6XArJ0.net
例えば、C++ のロベールを読むよりも、
「たのしいRuby」「みんなのPython」「スッキリjava」の3冊を3回読む方が、
はるかに速く読めるし、得るものも大きい。
50時間もあれば、全部読める
一方、C++ で50時間使っても、ほとんど何も作れない。
やってみればわかるけど、時間の無駄
C/C++ などポインタがある言語は、すぐにバグるから、すごく時間を損する

794:745
18/08/19 12:52:39.81 wM6XArJ0.net
URLリンク(rubyinstaller.org)
Ruby Installer を使うなら、2.4 系を使う。
2.5 系は、まだ新しいから使わないように
irb は日本語でバグるから、使わないように。
使うなら、WSL でLinux(Ubuntu)側で、irb を使う
VSCode もインストールして、Rubyの拡張機能も入れてみれば?

795:デフォルトの名無しさん
18/08/19 13:14:24.10 CsoxUTBy.net
環境変数がわからないのはともかく自分で調べて理解できないレベルなら諦めろ

796:デフォルトの名無しさん
18/08/19 13:31:40.72 CkJFwlQB.net
これが参考になると思う
URLリンク(pbs.twimg.com)

797:デフォルトの名無しさん
18/08/19 13:35:43.71 plhuPGbS.net
web上では見たことあるけど
出版物上で観るのは初めて感

798:デフォルトの名無しさん
18/08/19 14:15:20.06 qqMgBYp8.net
なんやこれw

799:デフォルトの名無しさん
18/08/19 14:21:25.19 OBahve6K.net
プログラミング経験0ならこっちから始め�


800:スほうが良くないか? https://www.nhk.or.jp/school/programming/start/index.html



801:745
18/08/19 14:30:49.79 wM6XArJ0.net
言語の初心者用の本は、PCの初心者用の本じゃない!
言語の本はあくまで、その言語を知らないだけで、
環境変数とか、絶対・相対パスとか、cd, ls などの基本コマンド、
PowerShell の使い方などは、知っている事が前提
こういうOS の知識を、教えている本はない。
それを書けば、言語を説明するページが減るから、書かない
つまり言語の本は、PCの初心者を対象としていない!
既に、OS の知識はあって、その言語だけを知らない人向け

802:デフォルトの名無しさん
18/08/19 14:42:48.43 OBahve6K.net
そういう人のためにはお膳立ての澄んだIDEが一番良いんでない?
URLリンク(forest.watch.impress.co.jp)

803:745
18/08/19 14:46:26.87 wM6XArJ0.net
762 みたいな本を書いている奴は、勉強を何もわかっていない。
なぜ生徒が、プログラミングを嫌うか
言語には、勉強する順番がある。
小学生にいきなり、大学教育をしても無駄。
小中高大学と、個人の成長には、勉強する順番が重要。
知識を下から、積み重ねていかないといけない
1. 動的・軽量言語
Ruby, Python, JavaScript
2. 静的言語
Java, Kotlin, C#
3. ポインターのある言語
C, C++
今の大学教育では、C から教えているから、皆プログラミングはしょーもないってやめる。
これは、Rubyの女神・女優の池澤あやかが言ってる

804:デフォルトの名無しさん
18/08/19 15:14:41.19 CsoxUTBy.net
>>768
教養時代に必修科か準必修科目でRubyやったぞ
薬学とか農学部進学予定の奴までやってたのはかわいそうだったけど

805:デフォルトの名無しさん
18/08/19 15:33:42.02 aRJ7Tr37.net
>>753
つまり、Python信者は他言語スレまで出張してPython推しするほど必死だと

806:デフォルトの名無しさん
18/08/19 15:39:09.36 EuNb7t2q.net
>>769
今日日、農学志望の人はRubyくらい使う機会があるかもね。
集計統計とか農業IoTとかで。

807:デフォルトの名無しさん
18/08/19 16:00:26.64 wM6XArJ0.net
ラズパイでは、Python も良いけど
ウェブ系では、Ruby が強い。
Rails から、Vue.js, React も使える

808:デフォルトの名無しさん
18/08/19 16:15:56.38 +KX+Ofsb.net
ルビィストとか世界中が失笑してるから

809:デフォルトの名無しさん
18/08/19 16:29:07.49 CsoxUTBy.net
>>773
失笑って言葉の意味まちがってるぞハゲ

810:デフォルトの名無しさん
18/08/19 16:35:26.45 plhuPGbS.net
プッ

811:デフォルトの名無しさん
18/08/19 16:46:14.03 j789RV8B.net
>>770
言語なんか複数使えて適宜使い分けられて当然でしょ

812:デフォルトの名無しさん
18/08/19 17:01:32.24 aRJ7Tr37.net
>>743
つまりPython推しのためであれば、他言語スレでの荒らし行為も正当化されると
いやあPython信者って怖いですね

813:777
18/08/19 17:02:42.12 aRJ7Tr37.net
アンカミスを訂正:
 X:>>743
 O:>>776

814:デフォルトの名無しさん
18/08/19 20:07:29.27 xR7/CWZ6.net
俺はPythonよりRubyの方がずっと好きだけど
(Railsプログラマーを目指してるんでもなきゃ)
これから何か始めようって人には断然Pythonを薦めるし
自分のお気に入りだからってむやみにRubyを薦める奴の見識は疑うね

815:デフォルトの名無しさん
18/08/19 20:49:04.45 OBahve6K.net
CASL II/COMET IIでアセンブラの基本を学んでいるとポインタで死ぬことはなくなる。
序でに基本情報の試験にそのまま使える。
URLリンク(www.jitec.ipa.go.jp)

816:
18/08/19 21:12:05.24 bW/fB7v7.net
>>780
CASL なんて覚える気になりません、といって、x


817:86 のいい教科書がありませんね 誰か書いてほしい



818:デフォルトの名無しさん
18/08/19 22:30:32.56 aRJ7Tr37.net
>>779
つまり:
 俺はRubyよりPythonの方がずっと好きだけど
 (機械学習プログラマーを目指してるんでもなきゃ)
 これから何か始めようって人にRubyを薦めることもあるけど
 自分のお気に入りだからってむやみにPythonを薦める奴の見識は疑うね
ってことですね
Python信者の皆様、お勤めご苦労様です

819:デフォルトの名無しさん
18/08/19 22:56:05.02 xR7/CWZ6.net
>>782
そりゃひねくれすぎだろ…お前いったい何と戦ってんの?
ただでさえRubyの評判は落ち目なんだから
狂信者が必要以上に貶めるのはやめにしてほしいわ

820:デフォルトの名無しさん
18/08/19 23:09:03.67 wM6XArJ0.net
>>780-781
2人のイリノイ大学生が使った、LLVM に世界が飛びついたけど、
日本では既に情報処理資格に、仮想アセンブラ CASL2 があった
LLVM/Clang 実践活用 ハンドブック、出村成和、2014
詳説 Cポインタ、2013、オライリー・ジャパン
OSのすべての機能を学びたいなら、ムック本の
Linuxエンジニア養成読本、第3版、2016

821:デフォルトの名無しさん
18/08/19 23:56:53.17 /dQ+RHN7.net
>>752
プログラミングの基本って、
・変数への代入、関数(メソッド)の使い方
・配列、ハッシュ(連想配列)とかのデータ構造
・値の比較と条件分岐(if文とかswitch文)
・繰り返し処理(do while文とか)
こういうのだけど、これはどの言語にもあるものだから、
一度覚えればほぼそのまま使い回しがきく。
(if文じゃなくてif式、とか若干の違いを言語ごとに覚えるだけ)
あとは「オブジェクト指向」の考え方というか、
概念みたいなのを理解できてれば、
どの言語に移ってもそんなに苦労せず使えるようになる。
で、そういう基本は、C++でもJavaでもRubyでもPythonでもJavaScriptでも、
どれやったって学べるわけだけど、
最近は3DCGのアプリとか、機械学習とかのジャンルで
Pythonが採用されるケースが多いので、
ゼロから始めるなら使い道の多いPython、みたいな意見がどうしても多くなる。
(Rubyは使いやすい言語だけど、Webサイト構築以外での採用例があまりない)
けど、「自分のやりたいこと」がなにかを決めた上で、
「それを最短距離でできる言語はどれか」を
詳しい人に教えてもらって始めるのが一番おすすめ。
(自分のやりたいことがC++でないとできないなら、最初からC++をやるべき)
特にやりたいことがなければ、
本屋で各言語の入門書をいろいろ立ち読みして、
自分が理解できそうな言葉で書いてあるやつを選んで始めれば、と思う。
ちなみにPythonもJavaも、初心者が学ぶ言語としては
悪くない選択肢です。

822:デフォルトの名無しさん
18/08/20 00:34:57.15 6r2cvJMF.net
>>785
Pythonは3DCGでは最近じゃないから
ほとんどの奴がPythonの存在を知らないときから使われてる

823:デフォルトの名無しさん
18/08/20 01:03:33.27 OYF5TU4U.net
ツール組み込みのPythonは未だに2だったりするんじゃないの?

824:デフォルトの名無しさん
18/08/20 01:43:39.45 ul3gEuNL.net
組み込みだとLua、mruby、JavaScriptあたりも使われている

825:デフォルトの名無しさん
18/08/20 06:59:19.60 1lIz0FhB.net
しれっとmrubyを混ぜるな
mrubyなんか誰も使ってない

826:デフォルトの名無しさん
18/08/20 10:03:01.56 1nsldRzy.net
まぁ古参はC、下手したらアセンブラからの経験者で
トレンドに合わせてステップアップしながら言語を覚えただろうから
初心者が何の言語から勉強するべきかなど分かるはずもないんだよな
シンプルで覚えることが�


827:ュなく今なお第一線級で活躍している言語なら間違いなくC言語 C言語ほどシンプルで実用性のある言語はない OSが書かれてる本物の言語ってだけでもモチベーションになる 全ての実用言語の元になってると言えるし、最初にやるには良い言語だ 良くも悪くも 一方で楽しさ優先なら間違いなくC#でポトペタ開発でしょ めちゃ楽しいが、WPFなどの背景にある仕組みの複雑さに挫折するかも でも触ってて楽しいだろうなぁ、画面作るだけならマウスだけで出来るし あぁRubyとかPythonとかは寄り道みたいなものだから最初にしなくてよいよ、ハマるから 動的型のスクリプト言語など色物なのに、最初にやるとか、どうかと 俺は絶対おすすめしないね、プログラミング言語の本流じゃないからね 特にここ10年は静的型が本流ってみんな知ってるだろ、いじわるめが



828:デフォルトの名無しさん
18/08/20 10:13:16.57 1nsldRzy.net
あと、環境設定がどうとか、約一名盛り上がっているようだが
そういう人にはVisualStudioがおすすめだろう
これだけ完成度の高いソフトが無料で使えるのは凄すぎる
トータルで言えば、初心者におすすめなのは
VisualStudioとC#でポトペタ開発って事になるのかな
でもまあ、C#もバージョンがどんどん上がって今やとても複雑な言語だからなぁ
ソフトウェア業界が10年20年かかって常識にしてきたことを
一気に追体験しようというのはなかなか酷だわな
本当はC言語とWin32APIあたりから始めるのがシンプルで理想なんだが
モチベーションがつづくかな、それさえ気にしなければよい選択なんだが
どちらにせよ、RubyやPythonのような本流主流じゃない言語を最初にやるのは止めたほうが良い
筋が悪い、悪かった、というか悪いお手本みたいな言語だから

829:デフォルトの名無しさん
18/08/20 10:21:38.59 1nsldRzy.net
手続き型言語でプログラム書くなら、どのみちメモリのことは意識しなければならないし
ポインタが分からないって時点でプログラマには向いてないというか何というか
ただ、結局、安全かどうかなんだよ
その点C言語は安全とは言い難いが
意図せずヌルポするのはヌル安全の機能が無い言語ではどれも同じようなものじゃろ
その観点から言うと、単なるタイポすらコンパイル時にチェックしてくれない
動的型言語は初心者に進めるのは止めたほうがよい
初心者ほどタイポするだろうからな
それが言いたかった

830:デフォルトの名無しさん
18/08/20 10:42:27.70 Xyz1Vf46.net
今北産業

831:デフォルトの名無しさん
18/08/20 11:29:47.95 fD9Nu4LZ.net
長い上に気持ち悪い
やっぱ長文はNGに限る

832:デフォルトの名無しさん
18/08/20 14:25:35.47 zY8py34F.net
自分語りするおっさん登場

833:デフォルトの名無しさん
18/08/20 15:18:21.21 qTCaqW3V.net
>>792
> 単なるタイポすらコンパイル時にチェックしてくれない動的型言語
(きっとRubyのdid_you_meanはおろか70年代のLispにすらあったDWIMも知らないんだろうな…)


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch