[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/13 18:23 / Filesize : 307 KB / Number-of Response : 1052
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Ruby 初心者スレッド Part 66



1 名前:デフォルトの名無しさん [2020/01/04(土) 01:15:34.30 ID:X7t3Qsuc0.net]
プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ

質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。
Ruby on Rails については、WEBプログラミング板で

前スレ
Ruby 初心者スレッド Part 65
https://mevius.5ch.net/test/read.cgi/tech/1545421414/

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

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

逆引きRuby
www.namaraii.com/rubytips/

Ruby コミュニティ公式
https://www.ruby-lang.org/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

152 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 13:27:43.83 ID:eT6ZDI7H0.net]
>>147
Perlにはオブジェクト指向ようの構文が後付で原始的なものしか搭載されてない。
アセンブラを駆使すれば何でもできるように、原始的な機能でも頑張れば
高度なオブジェクト指向機能を作ることは可能だが、
そのせいでいくつもの実装が生まれライブラリごとに使ってる
仕組みが異なり統一ができずに破綻してしまった。
Rubyは最初からオブジェクト指向

153 名前:デフォルトの名無しさん [2020/02/11(火) 14:28:51.94 ID:R1PPlg5z0.net]
>>146
>式の一部どれをとっても全てが式になってるまともな言語があるわけない

LISP, Haskell, ML, …etc

>中途半端な知識で勘違いしてドヤるのはやめよう

この記事の原著者も「中途半端な知識で勘違いしてドヤ」ってるのかなぁ
・Rubyによる関数型プログラミング
 xtmlab.com/misc/FPwithRuby.html

なお、手続き型言語の大半が文と式を明確に分けている中で、
Ruby の「すべてが式」という思想はユニークであるが、
次世代言語 Rust でも同様な思想が採用された
以下は書籍「プログラミングRust」からの引用
> Rustはいわゆる式言語(expression language)の一つだ。
> つまり、Lispにまで遡る古い伝統に従い、すべてを式で行う。

中途半端な知識で勘違いしてドヤると恥をかくだけだよ

154 名前:デフォルトの名無しさん (ワッチョイ 9f01-OQuQ) mailto:sage [2020/02/11(火) 18:41:16 ID:v/oRLdRM0.net]
>>150
>LISP, Haskell, ML, …etc

おまえアホやろ
Lispの閉じ括弧は式なのか? シングルクウォートは式なのか?Haskellのコロンは式なのか?
if修飾子が式じゃない極めて特殊()な構文って主張はそれと同じレベルなんだけど

>この記事の原著者も「中途半端な知識で勘違いしてドヤ」ってるのかなぁ
「あらゆるすべてが式である」のすべてに何が含まれて何が含まれないのか理解してるかどうかだよ
原著者が理解してるかどうかは知らないけどお前は間違いなく理解してない

ついでに言っておくとRubyの「全ては式」が広まったのはDavid Flanaganが「The Ruby Programming Language」で他言語出身者にわかりやすく理解させるためにそれっぽいことを書いたのが理由

155 名前:デフォルトの名無しさん [2020/02/11(火) 22:59:40.20 ID:R1PPlg5z0.net]
>>151
文節「すべてが式」に対する君の認識が、世間の一般常識から乖離していることを理解した

156 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 00:01:32.50 ID:39kCYFWR0.net]
>>152
keywordやsymbolそれ自体が式なわけないだろ?
それと同じことを主張してたの理解できたのかな?

制御構造のif式だって`if 式; end`全体で式として評価されるわけで
ifだけやendだけが式になるわけじゃない

if修飾子は`式 if 式`全体で式として評価されるわけで
後置の`if 式`だけで式になるわけじゃない

でその一部を取り出して
「その実現のためだけにRubyが「全てが式」ではなくなっているという極めて特殊な構文」
って言っちゃうのがどれだけ的外れかって話な

157 名前:デフォルトの名無しさん (ワッチョイ a701-9iBN) [2020/02/12(水) 01:40:12 ID:3IloEGU30.net]
電卓の構文解析器を作ったことがあれば、だいぶご意見が変わるはず。

158 名前:デフォルトの名無しさん (ワッチョイ ef1d-sg8N) [2020/02/12(水) 01:51:46 ID:CB9IiDBv0.net]
実務経験1年で月収80万稼げるエンジニアになった理由
https://www.youtube.com/watch?v=DrbbyGsHQic
意識が低いエンジニアこそフリーランスになれ
https://www.youtube.com/watch?v=nSEaAJlgjbQ
フリーランスエンジニアの週3労働ってどんな感じ?
https://www.youtube.com/watch?v=8yjoDCdbzMc
ぼくがスキルのない社畜ならこうやって脱する
https://www.youtube.com/watch?v=aae8xxbUlMM

159 名前:
初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話
https://www.youtube.com/watch?v=U0OCGRVLFsM
プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説
https://www.youtube.com/watch?v=iBOeiSKBIW8
貧乏人こそ社会不適合者
https://www.youtube.com/watch?v=O3BT72BIBJI
元ド貧乏が教える】貧乏を抜け出すための2つの考え方
https://www.youtube.com/watch?v=IRrCgTy3ckc
より良いオファー貰ってるのに転職しないとか何考えてるの?
https://www.youtube.com/watch?v=i0J6uRhlj7o
[]
[ここ壊れてます]

160 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 02:31:04.61 ID:zXn0/Xf90.net]
>>153
もう黙ったほうがええで。
アホが漏れとる。



161 名前:150および151 (ワッチョイ 7274-XNsy) [2020/02/12(水) 03:15:58 ID:1hwSKrXM0.net]
>>153
>でその一部を取り出して
>「その実現のためだけにRubyが「全てが式」ではなくなっているという極めて特殊な構文」
>って言っちゃうのがどれだけ的外れかって話な

自分は>>141ではないが、いったいぜんたい何を話したいのか訳がわからんよ

162 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 06:32:46.81 ID:m8mhjAm70.net]
>>155
グロ

163 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 09:42:28.21 ID:gfctBwevM.net]
「Rubyでは全てが式だ」というとき、ステートメント(文)と式の区別がないことを意味するのが普通だ
言語によってはメソッドやクラスの定義も普通の式だったりするが、Rubyでそう思っている奴はいないだろう
しかしRubyではステートメントと式の区別がないというのは厳密には正しくない
文法定義のソースを見れば明らかだが、それが後置構文の存在のためであるのは事実

164 名前:デフォルトの名無しさん mailto:sage [2020/02/12(水) 22:16:17.93 ID:Pa88PYmd0.net]
def foo(arg)
arg + 1
end(99) #=> 100
動かない

165 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 10:51:24.11 ID:6MxuLkX50.net]
p send(def foo(a); a + 1;end, 99) # => 100

166 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 21:55:21.77 ID:i9bfivOD0.net]
お、うーむ...なるほど

167 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 22:02:31.32 ID:TNGg/IHkr.net]
p def foo(a)
  a + 1
end.then{|s| method(s)[99]}

# => 100

168 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 23:08:11.62 ID:0ZbbVgVA0.net]
つまり、扱いは同じではない、ということかな?w

169 名前:デフォルトの名無しさん mailto:sage [2020/02/13(木) 23:20:32.77 ID:oR70BErs0.net]
foo = -> (arg) {
arg + 1
}.( 99 ) #=> 100

170 名前:デフォルトの名無しさん [2020/02/14(金) 12:22:11.03 ID:+9NDg3r60.net]
( ) で囲んで式にすれば、
JavaScript のIIFE (Immediately Invoked Function Expression; 即時実行関数式)みたいに、無名関数にできた!

( -> (arg) {
puts arg + 1
} ).( 99 ) #=> 100



171 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 12:36:32.48 ID:+9NDg3r60.net]
msys2 無しのWindows 10, Ruby 2.5 で、
WEBrick::HTTPServlet::CGIHandler は使えない!

ERROR CGIHandler:
C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:63:in `iterate_msys_paths':
undefined method `split' for nil:NilClass (NoMethodError)

エラーログに、enable_dll_search_paths とあるから、dll でも使うのかな?

172 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 17:39:20.53 ID:EOtBZfN80.net]
>>166
>( ) で囲んで式にすれば、

括弧なくても定義したlambdaが返される
.()でそのlambdaのcallメソッドを呼び出してるだけ
-> (arg) { arg + 1 }.(99) でも
-> (arg) { arg + 1 }[99] でも
-> (arg) { arg + 1 }.call 99 でも同じ

ちなみにJSのvar foo = (x)=> x+1 みたいなのは関数に名前はついてないので無名関数だぞ
rubyで foo = -> (arg) { arg + 1 } と書いても
無名のlambdaをfooという変数に入れてるだけで
lambda自身に名前がつくわけではない

173 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 13:46:02.32 ID:BIOI8zPQ0.net]
>>167
ENV['PATH'].split(";")が失敗するってmsys2関係なくなかなかレアな環境だと思うが
環境変数をクリアしたりしてるのかい?

174 名前:167 [2020/02/15(土) 17:09:24.91 ID:8drC8DpT0.net]
msys2 を入れずに、Ruby を使っているから、
コンパイルできないし、Windows 10 のネイティブDLL を使えない

Ruby 2.5 で、SQLite も使えなくなったw

WEBrick は、Rubyで実装されているから、msys2 無しでも動くと思ったけど、
WEBrick::HTTPServlet::CGIHandler で、ネイティブDLLを使っているのだろう

rubyist magazine を冒頭から読み始めたが、読み応えある!

175 名前:デフォルトの名無しさん (ワッチョイ 335f-JhxJ) mailto:sage [2020/02/16(日) 02:30:58 ID:A+9IORaN0.net]
>>170
msys2_installation.rb:63にmsys2関係ないって
https://github.com/oneclick/rubyinstaller2/blob/rubyinstaller-2.5.0-1/lib/ruby_installer/build/msys2_installation.rb#L63
これが失敗するのは環境変数がおかしいか、上書きしているか
それともENVを再定義しているくらいしか思いつかない

176 名前:167 [2020/02/16(日) 19:14:49.59 ID:5EL9p8ON0.net]
漏れは、Windows 10,Ruby 2.5 で、
Run ‘ridk install’ to install MSYS2 and development toolchain. も、チェックしていないし、
MSYS2 の開発ツールと、MINGW のコンパイラもインストールしていないから

Rubyの環境構築(Windows10編)
https://www.kenschool.jp/blog/?p=3898

エラーログ

C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:63:in `iterate_msys_paths': undefined method `split' for nil:NilClass (NoMethodError)\r\n\t

from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:76:in `msys_path'\r\n\t

from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:89:in `mingw_bin_path'\r\n\t

from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/msys2_installation.rb:99:in `enable_dll_search_paths'\r\n\t

from C:/Ruby25-x64/lib/ruby/site_ruby/2.5.0/ruby_installer/runtime/singleton.rb:27:in `enable_dll_search_paths'\r\n\t

from C:/Ruby25-x64/lib/ruby/2.5.0/rubygems/defaults/operating_system.rb:3:in `<top (required)>'\r\n\t

from C:/Ruby25-x64/lib/ruby/2.5.0/rubygems.rb:1383:in `require'\r\n\t

from C:/Ruby25-x64/lib/ruby/2.5.0/rubygems.rb:1383:in `<top (required)>'\r\n\t

from <internal:gem_prelude>:2:in `require'\r\n\t

from <internal:gem_prelude>:2:in `<internal:gem_prelude>'\r\n

177 名前:デフォルトの名無しさん mailto:sage [2020/02/17(月) 01:04:16.59 ID:gpbv7rcq0.net]
あー、WebrickのCGIHandlerはCGIPathEnvの関係でENV["PATH"]がnilになりうるのか
WEBrick::HTTPServer.newに渡すハッシュにCGIPathEnv: ""を加えとけばいいはず

178 名前:167 mailto:sage [2020/02/17(月) 01:35:30.73 ID:A9t7x7q20.net]
ありがとう。
オプションに、:CGIPathEnv => '' を加えたら、正常に動いた!

すごい実力じゃん!
ソースコードを追っていったの?

opts = { :CGIInterpreter => "C:/Ruby25-x64/bin/ruby.exe",
:CGIPathEnv => '', # msys2 のエラーを避けるために、必要!
:DocumentRoot => './', # この指定が必要!
:BindAddress => '127.0.0.1', :Port => 20080 }

srv = WEBrick::HTTPServer.new( opts )

179 名前:デフォルトの名無しさん mailto:sage [2020/02/17(月) 05:37:18.50 ID:SykEsoD4r.net]
なんかムカつく

180 名前:デフォルトの名無しさん (ワッチョイ d62d-qw96) [2020/02/17(月) 15:17:53 ID:9CP/4dwv0.net]
新しくて安い本が出たので、頭の体操にRubyの勉強を始めたところなんだけどさあ
よくネット上に、「Railsの本をやってからRubyの勉強をした」みたいな人がいるのはどういうことなの?
RailsってRubyが出来ないと何も出来ない訳でもないの???



181 名前:デフォルトの名無しさん mailto:sage [2020/02/17(月) 15:33:27.23 ID:qj5C8HtX0.net]
普通にプログラミングできる人にとっては言語の違いなんて些細なもので
いちから作るのならともかく、そこいらにあるRailsのコードや自動生成されたものを
見ればそこからRubyという言語を推測で理解できるんだよ。
このコードがクラス定義だな。Rubyではこう書くんだなって
わからなければそこだけググればいい

Railsはやり方というものがあるので、それに合わせるように
Railsの本を見て流れを把握する必要がある。

検索は断片を見つけるのはキーワードから簡単に見つけられるが
流れはそうはいかない。

182 名前:だいたいの本はページの最初から流れを
そのまま書いてあるから、本でざっと勉強するのが最初のうちは手っ取り早い
[]
[ここ壊れてます]

183 名前:デフォルトの名無しさん (ワッチョイ d62d-qw96) [2020/02/17(月) 18:20:35 ID:9CP/4dwv0.net]
そういうことか
言語だけ先にやると変な癖がついたりもするし、演習ファーストの学習も結構いいかもな

184 名前:デフォルトの名無しさん (ワッチョイ b7d2-Htok) [2020/02/17(月) 18:45:44 ID:wxeqwMT50.net]
日本語の勉強がしたいと言ったら
舞城王太郎の小説を読めと言われた気分

185 名前:デフォルトの名無しさん (ワッチョイ 122c-LiuO) mailto:sage [2020/02/17(月) 19:30:14 ID:A9t7x7q20.net]
たぶん、すでに多言語を知ってる人だろう

入門書の次のレベルの、新しい本が出た!
Ruby on Rails 6 実践ガイド、黒田努、2019/12/20

実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング、黒田努、2014
この本を書き換えたもの

無料のRails チュートリアルよりは簡単

Windows プロ版のDocker が不安定だから、Virtual Box, Ubuntu 18.04 でやってる!

186 名前:デフォルトの名無しさん (ワイーワ2 FF6a-BDVY) [2020/02/18(火) 12:16:06 ID:r+eOvEZJF.net]
またカタワを量産するつもりか
RailsRubyの将来は暗いな

187 名前:デフォルトの名無しさん (ワッチョイ ff2c-lQWV) [2020/02/25(火) 19:09:01 ID:Ykw6mmDG0.net]
「aabc → bc」みたいに、先頭から特定の文字が連続するとき、それを除去するには、どう書く?
正規表現を使ったものと、使っていない場合の両方

str = "aabc"

# 先頭から続く、a を除去する
while str.start_with? "a" # 先頭文字が、a なら
str.slice! 0 # 先頭文字を削除する
end

p str #=> "bc"

188 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 20:42:26.89 ID:uCkT0+w20.net]
そりゃ正規表現のステートマシン通りに書くでしょ

189 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 22:00:57.29 ID:uBU1PACqr.net]
>>182

puts str[/\Aa*\K.*/] # => bc

190 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 22:07:44.86 ID:uBU1PACqr.net]
>>182

puts str[str.size.times.find{|i| str[i] != ?a}..] # => bc



191 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 22:22:39.72 ID:oSeHo6cg0.net]
>>182
def remove_consecutive(string)
string.sub(/^(.)¥1{1,}(.*)$/) {|_| remove_consecutive($2)}
end

remove_consecutive("aaaabbbbbbccab") #=> “ab”
remove_consecutive("1112234") #=> "34"

192 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 22:59:04.49 ID:/XslCVsc0.net]
本当に文字列から連続部分を除去したいのか、
連続部分の後ろが取り出せればいいのか

193 名前:182 (ワッチョイ ff2c-lQWV) mailto:sage [2020/02/25(火) 23:54:26 ID:Ykw6mmDG0.net]
元々は「0082 → 82」みたいな文字列の先頭から続く、0 を除去したかった。
先頭以外のものは、除去しなくてよい

こういうメソッドが無いか、探してみたけど見つからなかった

レシーバーの破壊的な変更をしてもよいし、別の文字列を作って返すものでもよい

194 名前:182 (ワッチョイ ca2c-rVtL) mailto:sage [2020/02/26(水) 00:52:55 ID:TmIxTRKQ0.net]
文字列の先頭から続く、特定の文字を除去する

1文字でも除去するし、連続するかぎり除去するが、
先頭以外のものは、除去しなくてよい

a を除去する場合

abc → bc
aaXaa → Xaa

195 名前:デフォルトの名無しさん (ワッチョイ 8a01-k1AF) mailto:sage [2020/02/26(水) 01:11:17 ID:sMj0eedP0.net]
>>188
>元々は「0082 → 82」みたいな文字列の先頭から続く、0 を除去したかった。
“0082”.to_i.to_sでよくね?
なんかこのパターン数ヶ月前にも見たような気がするな

>>189
def remove_leading_chars(string, char)
string.each_char.drop_while{|c| c == char}.join
end

remove_leading_chars(“0000123", “0”) #=> "123"
remove_leading_chars(“abc", “a”) #=> "bc"
remove_leading_chars(“aaXaa", “a”) #=> "

196 名前:Xaa" []
[ここ壊れてます]

197 名前:182 mailto:sage [2020/02/26(水) 04:46:15.55 ID:TmIxTRKQ0.net]
>“0082”.to_i.to_sでよくね?

長い文字列だと、数値化できない言語もあるから、
汎用的に作れないかなと思って

198 名前:デフォルトの名無しさん mailto:sage [2020/02/26(水) 08:06:23.34 ID:PiyizPRV0.net]
だからオートマトンで作れって言ってんじゃん
ttps://image.slidesharecdn.com/1-140715084054-phpapp01/95/1-11-638.jpg

199 名前:デフォルトの名無しさん (ワッチョイ 0314-IyPa) mailto:sage [2020/02/26(水) 08:22:48 ID:kXv4PxDr0.net]
オートマトンってなんで羊なんだろう?
自動的に毛を刈って自動的に料理されるのか?

200 名前:デフォルトの名無しさん (ワッチョイ 6b01-nhpA) mailto:sage [2020/02/26(水) 08:29:53 ID:bDSWeqSr0.net]
オートマンだと思ってた
インド哲学かよ



201 名前:デフォルトの名無しさん (ワッチョイ 0314-IyPa) mailto:sage [2020/02/26(水) 08:36:52 ID:kXv4PxDr0.net]
嘔吐マトン

202 名前:デフォルトの名無しさん [2020/02/26(水) 12:11:34.52 ID:GrI3XnzJ0.net]
>>189
def ltrim(s, c)
s[/^#{c}*/] = ""
s
end
p ltrim("aaaabcaabc", 'a')

"bcaabc"

203 名前:デフォルトの名無しさん mailto:sage [2020/02/26(水) 23:09:06.75 ID:TmIxTRKQ0.net]
Ruby on Rails 6 実践ガイド、黒田努、2019/12/20

Ruby on Rails 6 超入門、掌田津耶乃、2020/2/21

巨匠・掌田も、Rails 6 に参戦!

後は、山田祥寛・WINGSプロジェクトが、どうするか?

204 名前:デフォルトの名無しさん [2020/02/27(木) 15:17:58.32 ID:G6pyHvdgF.net]
掌田の本は要らん

205 名前:デフォルトの名無しさん (ワッチョイ 4aa5-SiQa) mailto:sage [2020/02/28(金) 09:49:01 ID:tB/cuWAa0.net]
掌田津耶乃って何者? (Late 2012)
https://egg.5ch.net/test/read.cgi/mac/1349360916/

巨匠か?
Mac凋落と共に仕事を失った人間、とか書かれてんぞ

206 名前:デフォルトの名無しさん (ワッチョイ 4aa5-SiQa) mailto:sage [2020/02/28(金) 09:53:35 ID:tB/cuWAa0.net]
掌田津耶乃って何者?
https://mentai.5ch.net/test/read.cgi/pc/971599471/

macの賤民思想に凝り固まった人間?
そんな物体なら要らないな

207 名前:197 (ワッチョイ ca2c-rVtL) [2020/02/28(金) 13:58:28 ID:GfVfgYuK0.net]
多言語の3強が、掌田津耶乃・山田祥寛(WINGSプロジェクト)・柴田望洋。
他に、スッキリ・やさしい・猫でも・独習など

掌田は、その中でも断トツ!

多言語の入門書・フレームワーク・ゲームエンジンなど、
ここ数年で、20冊とかある

世界的に見ても、断トツ!

208 名前:デフォルトの名無しさん mailto:sage [2020/02/28(金) 14:40:57.13 ID:LkDsYiUy0.net]
何か後ろの二人が気の毒

209 名前:デフォルトの名無しさん (ワッチョイ 9e2d-9Aak) [2020/02/28(金) 15:39:11 ID:Y4GSbUWj0.net]
Rubyはもう本で勉強するのは古い
今は迫 佑樹とかあおいとかのオンラインコースで勉強する時代だよ、

210 名前:デフォルトの名無しさん (ワッチョイ 8a01-k1AF) mailto:sage [2020/02/29(土) 02:55:28 ID:udUacP9j0.net]
山田祥寛は10年近く前C#でよくお世話になった
他言語から来た入門者に程よくわかりやすい本を書く印象

柴田望洋はC言語系で何冊か読んだが
内容がすごく簡潔で短い時間でまとめ的な知識を頭に入れたり
特定のトピックを復習したいときには有用
(ただ今ならWebサイトで代用可能)

掌田津耶乃・・・
本屋で間違って手にしてもパラっと読めば速攻本棚に戻すやつ

似たような浅めの入門本著者だと
クジラ飛行机のやつは実践的なやつが多くて悪くないと思う



211 名前:197 (ワッチョイ ca2c-rVtL) [2020/02/29(土) 23:32:52 ID:6IdZMwnf0.net]
なでしこの作者・クジラ飛行机は、
近年、Python から、多言語の作者として乱入してきた

なでしこだけでは食えないし、やむを得ない方向転換w

巨匠の柴田望洋は「新・明解C言語」のイメージだけど、近年、多言語に参入した

212 名前:◆QZaw55cn4c (ワッチョイ 2aaa-9l6Y) mailto:sage [2020/02/29(土) 23:43:57 ID:c0ztbNyQ0.net]
>>204
新独習c# は旧独習ハーバートシルトと比べてどうでしょうか?
新独習Java は、旧独習が史上稀に見る惨憺たる出来だったことから、新独習はよくなるしかないと予測しています
あと、旧独習を高く評価している私としても新独習C++ については興味がありますね

213 名前:197 mailto:sage [2020/03/01(日) 00:44:56.42 ID:NSpMdQYF0.net]
さすがに日本人で、シルトと比べられる著者は、いないだろ

たいてい読み応えがあるのは、Effective シリーズなどの外人著者

214 名前:デフォルトの名無しさん [2020/03/01(日) 10:00:51.93 ID:JWAFHnbAM.net]
しつもんです
haskellだったら
[(x,y,z) | x <- [1..9], y <- [1..9], z <- [1..9], x * y * z == 24]
こう書けるものはrubyではせいぜい
p [*1..9].repeated_permutation(3).select {|a| a.sum == 24}
こう書くしかありませんか?簡潔に表現したいです

さらにhaskellでは
[(x,y,z) | x <- [1..9], y <- [1..8], z <- [1..7], x * y * z == 24]
などと書けるので柔軟ですがその場合rubyなら
p (1..9).map {|x| (1..8).map {|y| (1..7).map {|z| [x,y,z]}}}.flatten(2).select {|a| a.sum == 24}
こう書くしかありませんか?簡潔に表現したいです

215 名前:デフォルトの名無しさん (ワッチョイ 0314-IyPa) mailto:sage [2020/03/01(日) 10:43:49 ID:n6wzTSL90.net]
> haskellだったら
> [(x,y,z) | x <- [1..9], y <- [1..9], z <- [1..9], x * y * z == 24]
> こう書けるものは

haskell: 66文字

> rubyではせいぜい
> p [*1..9].repeated_permutation(3).select {|a| a.sum == 24}
> こう書くしかありませんか?簡潔に表現したいです

ruby: 58文字


Rubyの方が簡潔です

216 名前:デフォルトの名無しさん (ワッチョイ 6f5f-jGfF) mailto:sage [2020/03/01(日) 11:35:40 ID:qmcGlirD0.net]
> p (1..9).map {|x| (1..8).map {|y| (1..7).map {|z| [x,y,z]}}}.flatten(2).select {|a| a.sum == 24}
p [[*1..9], [*1..8], [*1..7]].then{|x, *a| x.product(*a)}.select{|a| a.sum == 24}
p [*1..9].product([*1..8],[*1..7]).select{|a| a.sum == 24}

好きな方を

ところで、そのHaskellコードにはp相当が無いように見えますが
Haskellってprintしなくていいんですか?

217 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 12:14:22.10 ID:8hJkpeX/a.net]
元から間違っているがsumではない

218 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 12:53:48.43 ID:JWAFHnbAM.net]
あごめんsumじゃなかったわw
みなさんどうもありがとうございました

219 名前:デフォルトの名無しさん (ワッチョイ 067d-X91k) [2020/03/01(日) 18:13:12 ID:RW98tzZT0.net]
rubyでtwitterとかyoutubeどうやって作るの?
全くイメージが沸かない
ツイートがリアルタイムで他者にも表示されるのってどういう仕組み?

220 名前:デフォルトの名無しさん (ワッチョイ cb4f-mnKr) mailto:sage [2020/03/01(日) 21:01:11 ID:QPyt1UlH0.net]
httpとブラウザの仕様の話なのでrubyは関係ない



221 名前:デフォルトの名無しさん (アウアウエー Sac2-DFeu) mailto:sage [2020/03/01(日) 21:57:35 ID:F2v5Atsqa.net]
scaffold で一発で作るという意味だろう

222 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 22:44:11.42 ID:NSpMdQYF0.net]
0から手を動かして作るRailsチャットアプリ【チュートリアル】
ttps://www.youtube.com/watch?v=WCsgcp5dg7M

Ruby on Rails で、Web Socket を使う、とだこうきの動画

223 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 22:47:44.78 ID:QZXNPr7ra.net]
>>213
JavaScriptでサーバー側のAPIを叩き、サーバーがそれに対して結果を返し、JavaScriptでその結果を画面に反映させる
基本はこれだけ
Rails任せじゃなくてちゃんとWebの仕組みを理解してAPIを実装しなきゃいけないし、JavaScriptもゴリゴリ書かなきゃいけない
SQSなどのAWSやGCPのマネージドサービスや、Ka

224 名前:fkaのようなデータ基盤系のOSSなど高度なバックエンド技術の活用も必要だ
Railsのチュートリアルに毛が生えたような典型的なWebとは次元が違う
[]
[ここ壊れてます]

225 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 23:24:11.39 ID:J3IrN4Ey0.net]
クライアントがブラウザとは限らないが
いずれにしろrubyは全く関係ない

web push
server-sent events
push notification service (e.g. APNs)

↑この辺りを学べばいい
単なる通知用途で生のweb socketを
ゴリゴリ書いたりはしないんじゃないかな

226 名前:デフォルトの名無しさん (ドコグロ MMea-ff41) mailto:sage [2020/03/01(日) 23:52:21 ID:H/U8nx/nM.net]
プログラミングスクールでRails勉強しました系だとプル型のアプリの作り方しか知らないだろうから、クライアントへの通知の実装方法以前に、
そもそもユーザーがツイートしたときに受信者に対して通知をキックするところの仕組みが想像できないんだろうな
そのへんはいわゆるバックエンドってやつで、ユーザー数が増えてもスケールするためには小手先のコーディングだけでなくAWSのインフラ設計まで含めた作り込みが必要
Railsできますウェーイみたいなのとは一線を画す、いい大学出たガチな連中が鎬を削ってる世界だ

227 名前:デフォルトの名無しさん (ワッチョイ ca2c-rVtL) mailto:sage [2020/03/02(月) 00:40:51 ID:8PHDRupm0.net]
Ruby による今世紀最大の起業家、Vagrant のMitchell Hashimoto(HashiCorp)も、
Go のTerraform へ行った

今や主戦場は、Docker, Kubernetes になった

でも、サーバーの基本は、Ruby。
Node.js も、Rubyのコピーだから

Spring Boot も、Rails のコピー

228 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 01:33:56.26 ID:AuxsFe1o0.net]
>>217
>>219
おまえもウェーイ系なのに無理してレスすんな

229 名前:デフォルトの名無しさん mailto:sage [2020/03/05(木) 19:13:20.03 ID:h922Dn8C0.net]
>>204
>柴田望洋はC言語系で何冊か読んだが
>内容がすごく簡潔で短い時間でまとめ的な知識を頭に入れたり
>特定のトピックを復習したいときには有用

いかにも教科書って感じの本書くよね
オレもオススメできる著者だと思うぞ!

230 名前:デフォルトの名無しさん (ブーイモ MM7f-Pim3) mailto:sage [2020/03/05(木) 19:35:07 ID:1tYxfkRNM.net]
本屋いったらrubyの本は駆逐されてた



231 名前:デフォルトの名無しさん (ワッチョイ cbad-wzO4) mailto:sage [2020/03/05(木) 21:34:51 ID:h922Dn8C0.net]
すっかりPythonの本に置きかわったよな!
やっぱ人工知能ブームに乗れなかったのがデカイ

232 名前:デフォルトの名無しさん (ワッチョイ 9fa5-HL4i) mailto:sage [2020/03/06(金) 14:08:05 ID:gkPkCuAw0.net]
・P系言語には絶対にPを付けるべきであった
・endがある言語には終わりがある

オカルト方面の理由だとこのようになる

「pascalは終わった」とは業界の定型句だが終わったのはendがあるからだ
なので「end」という文字の視覚的影響は思いの他大きいのではなかろうか

代わりにpythonはselfを見続けることになる

他の理由としては、我々は「ぱい」と発音したい生物である、という、これまたオカルトな理由だ
特にPから始まる単語は人類にとって基本的・根源的らしい
「PyPI」とかどーすんだコレとか思っちゃうような発音の存在こそが、pythonを存続させている大きな原動力だ

233 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 16:38:00.92 ID:Z17kfdKR0.net]
なぜ差が付いたか RubyとPython
――(日本語圏の)慢心、(AI)環境の差

234 名前: []
[ここ壊れてます]

235 名前:デフォルトの名無しさん (アウアウエー Sa3f-xiWk) mailto:sage [2020/03/06(金) 20:06:25 ID:dfpAZ0dma.net]
cobol には end があるが、しぶとく生き残っている
早く絶滅してほしいものだが

236 名前:デフォルトの名無しさん mailto:sage [2020/03/06(金) 21:40:53.72 ID:f8XVsIbI0.net]
Rubyの方がCOBOLより先に死滅する希ガス

237 名前:デフォルトの名無しさん [2020/03/06(金) 22:57:29.86 ID:rcgbHB5O0.net]
慢心と言うより
補助金事業になったら碌なことにならない例の一つ

238 名前:デフォルトの名無しさん (ワッチョイ cbad-wzO4) mailto:sage [2020/03/07(土) 03:49:31 ID:meF2wfp30.net]
補助金が腐らせるの
日本のあるあるだな!

239 名前:デフォルトの名無しさん (ワッチョイ ef8c-NYnE) [2020/03/07(土) 12:58:20 ID:Q0oLpIzl0.net]
>>226
コメントアウトの仕方

240 名前:デフォルトの名無しさん (ワッチョイ 2ba5-Inmc) mailto:sage [2020/03/07(土) 13:58:54 ID:H7f33zo10.net]
Rubyは日本の言語ではなくて
日本発だけど
日本からアメリカのユタ州に税金を抜かれるだけの言語だ



241 名前:デフォルトの名無しさん [2020/03/07(土) 16:10:40.97 ID:ZoK+qwRc0.net]
補助金で食える人数も限られてるから、余計に閉鎖的になってく

242 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 19:42:14.60 ID:meF2wfp30.net]
補助金で喰える上級Ruby国民は安泰だけど
下級Ruby国民はPythonに逃げ出してる現状

243 名前:デフォルトの名無しさん (ワッチョイ 4b2d-hds7) [2020/03/10(火) 16:47:55 ID:rx4TAX460.net]
Rubyの高額教材屋も増えまくってたり、こんなの国が金を出して支援するもんじゃないよもう

244 名前:デフォルトの名無しさん (ワッチョイ ab01-xzLc) mailto:sage [2020/03/10(火) 21:55:43 ID:uPXabSQ00.net]
perlの保守性の低さについて何も学ばなかったから。

245 名前:デフォルトの名無しさん mailto:sage [2020/03/15(日) 06:29:59.66 ID:d7tE7oy90.net]
リファレンスマニュアルの正規表現の一覧に
(<=pat) 肯定後読み
となってるけど正しくは (?<=pat) ですよね

246 名前:デフォルトの名無しさん mailto:sage [2020/03/15(日) 07:01:08.84 ID:fxB2xu91r.net]
せやね

247 名前:デフォルトの名無しさん (ワッチョイ 698f-tF/6) mailto:sage [2020/03/17(火) 10:26:17 ID:55EeZ8o40.net]
AI環境の差は大きいっすねー
保守性とかどうでもいいしrubyの文法は好きだけど、今から勉強する人にはphthon勧めざるを得ない

248 名前:デフォルトの名無しさん (ワッチョイ a1ad-M7Q/) mailto:sage [2020/03/17(火) 11:47:19 ID:xPTEZvMY0.net]
PythonはAIライブラリそろってるからな

249 名前:デフォルトの名無しさん mailto:sage [2020/03/17(火) 18:17:35.92 ID:Np3/43wU0.net]
機械学習や統計処理のために
プログラミングできるようになりたいというひとは
迷わずPythonから初めればいいけど
明確な目的がない場合はRubyから初めさせたほうが
プログラミング自体の習熟が断然早い

1ヶ月程度でプログラミングの基礎を身につけたら
後は好きなやつやればいいと思う
新卒で2~3言語学ばせるABテストとかやってみたいね

250 名前:デフォルトの名無しさん mailto:sage [2020/03/17(火) 18:19:24.38 ID:ybHHyXnP0.net]
ABテストやってないのになんでRubyからの方がいいって分かるの



251 名前:デフォルトの名無しさん (ドコグロ MM95-Syvm) mailto:sage [2020/03/17(火) 18:38:35 ID:7aCFf3OgM.net]
明確な目的のない奴にRails専用スクリプト(別名Ruby)を勧めるのはさすがにどうかと

252 名前:デフォルトの名無しさん mailto:sage [2020/03/17(火) 19:08:20.64 ID:55EeZ8o40.net]
別にrailsなんかなくたってperlよりモダンな汎用スクリプト言語ではあるやろ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<307KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef