プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ
質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。
Ruby on Rails については、WEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 65
https://mevius.5ch.net/test/read.cgi/tech/1545421414/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
Ruby コミュニティ公式
https://www.ruby-lang.org/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Ruby 初心者スレッド Part 66
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 2a2c-RM0q)
2020/01/04(土) 01:15:34.30ID:X7t3Qsuc0581デフォルトの名無しさん (アウアウウー Sad3-Owb/)
2020/06/28(日) 15:54:16.53ID:mQb8yLJ0a progateのrailsのコンテンツで以下のようなコードがありました。
<%= form_tag("/posts/create") do %>
<textarea></textarea>
<input type="submit" value="投稿">
<% end %>
form_tagメソッドはなぜ<%= %>で囲わなければ行けないのでしょうか?
以下のように理解していますが。
「<% 〜 %>または<%= 〜 %>の違いは何でしょうか。
どちらも中に記述されたRubyコードが実行されるのですが、
<%= 〜 %>の方は実行された結果を評価し、文字列として出力します。」
<%= form_tag("/posts/create") do %>の行は何も文字列として出力していないと思いますが。
<%= form_tag("/posts/create") do %>
<textarea></textarea>
<input type="submit" value="投稿">
<% end %>
form_tagメソッドはなぜ<%= %>で囲わなければ行けないのでしょうか?
以下のように理解していますが。
「<% 〜 %>または<%= 〜 %>の違いは何でしょうか。
どちらも中に記述されたRubyコードが実行されるのですが、
<%= 〜 %>の方は実行された結果を評価し、文字列として出力します。」
<%= form_tag("/posts/create") do %>の行は何も文字列として出力していないと思いますが。
582デフォルトの名無しさん (ワッチョイ 8f63-UxRf)
2020/06/28(日) 18:31:09.43ID:VdXbwnMJ0 お気に入り数を増やすAPIを作っているんですが、1つづつ増やすのは以下でできたんですが、
変数で一気に10個ずつとか増やしたい場合どう書いたらいいでしょうか
Photo.where('id = ?', params[:id]).update_all("favorite_count = favorite_count + 1")
変数で一気に10個ずつとか増やしたい場合どう書いたらいいでしょうか
Photo.where('id = ?', params[:id]).update_all("favorite_count = favorite_count + 1")
583デフォルトの名無しさん (ワッチョイ 7fbb-OVGN)
2020/06/28(日) 18:56:04.59ID:0dkV5Fxh0584デフォルトの名無しさん (ワッチョイ 8f63-UxRf)
2020/06/28(日) 18:59:25.47ID:VdXbwnMJ0 >> 583
わからないならレスしないでください。うざいだけです
わからないならレスしないでください。うざいだけです
585デフォルトの名無しさん (ワッチョイ 7fbb-OVGN)
2020/06/28(日) 19:13:24.62ID:0dkV5Fxh0586デフォルトの名無しさん (ワッチョイ ff0e-/nJK)
2020/06/28(日) 20:01:39.44ID:EEQjVY4L0 ワッチョイ 7fbb-OVGNはNGだな
お前が消えろだわ
お前が消えろだわ
587デフォルトの名無しさん (ワッチョイ 3f52-RSi0)
2020/06/28(日) 20:32:08.79ID:0MZ5QVvK0 >>585
Ruby界w
Ruby界w
588デフォルトの名無しさん (テテンテンテン MM4f-DObo)
2020/06/28(日) 20:57:07.92ID:crkgJwf5M 高学歴なんかみんな他へ行ってしまってもう残ってないだろ
低学歴ワープアの脱出先として注目されすぎて単価の暴落がやばい
低学歴ワープアの脱出先として注目されすぎて単価の暴落がやばい
589デフォルトの名無しさん (オッペケ Sra3-jzci)
2020/06/28(日) 21:09:18.32ID:aRNwulycr590デフォルトの名無しさん (ワッチョイ 3f01-0Hhk)
2020/06/28(日) 21:26:16.13ID:pODeKu4C0 >>582
散々な言われよう
Active Recordを使ってDBの値をインクリメントする際
増分を指定するにはどうすればいいですか?
って質問なのかもしれないが
Acrive Record風のAPIを自作してて
インクリメントする場合はどういうAPIにするのがいいですか?
って質問に見えるから、ちょっと何言ってるんだろうってなる
散々な言われよう
Active Recordを使ってDBの値をインクリメントする際
増分を指定するにはどうすればいいですか?
って質問なのかもしれないが
Acrive Record風のAPIを自作してて
インクリメントする場合はどういうAPIにするのがいいですか?
って質問に見えるから、ちょっと何言ってるんだろうってなる
591デフォルトの名無しさん (ワッチョイ 8f63-UxRf)
2020/06/28(日) 22:01:58.57ID:VdXbwnMJ0 もうできたわ。役に立たないカス共が
592デフォルトの名無しさん (オッペケ Sra3-jzci)
2020/06/28(日) 22:08:09.77ID:aRNwulycr 最近このやり取り多くて草
593デフォルトの名無しさん (ワッチョイ 8f63-vh/6)
2020/06/28(日) 22:58:05.40ID:zEEHZHWG0 >>581
=の有る無しで出力されるhtmlがどうなるか比較してみたら
=の有る無しで出力されるhtmlがどうなるか比較してみたら
594デフォルトの名無しさん (ワッチョイ 8f63-UxRf)
2020/06/28(日) 23:17:47.40ID:VdXbwnMJ0 ここなんでこんなイライラしてる人多いんだ
プログラミングスクールに大金つぎ込んで未経験から異業種転職を試みたが
結局うまく就職できなかった奴が暴れてんのか
プログラミングスクールに大金つぎ込んで未経験から異業種転職を試みたが
結局うまく就職できなかった奴が暴れてんのか
595デフォルトの名無しさん (ワッチョイ cf2c-wMgy)
2020/06/29(月) 00:43:51.63ID:ze6DZkOI0 >当スレに★Python以外のプログラミング言語での回答類を書くべからず★
>「Ruby では」「Rubyでは」「某言語では」をNGワード登録推奨
テンプレを書き換えたり、すべてのスレを荒らしている荒らしがいる
荒らしは、必ず2回以上書き込む。
前のレスに「そうだよねー」みたいに、アンカーを付けて、複数人いるように見せかける
だから、荒らしの相手をしないように!
荒らしが喜ぶので、荒らしの相手をする者も、荒らしと認定されます!
>「Ruby では」「Rubyでは」「某言語では」をNGワード登録推奨
テンプレを書き換えたり、すべてのスレを荒らしている荒らしがいる
荒らしは、必ず2回以上書き込む。
前のレスに「そうだよねー」みたいに、アンカーを付けて、複数人いるように見せかける
だから、荒らしの相手をしないように!
荒らしが喜ぶので、荒らしの相手をする者も、荒らしと認定されます!
596デフォルトの名無しさん (ワッチョイ cf2c-wMgy)
2020/06/29(月) 00:54:33.79ID:ze6DZkOI0 >>581
【Rails】form_tagの使い方を徹底解説!
https://pikawaka.com/rails/form_tag
「formtag rails」で検索!
Rails Guide も、翻訳されてる
>>582
>favorite_count = favorite_count + 1
この1 を、10 に変えれば?
【Rails】form_tagの使い方を徹底解説!
https://pikawaka.com/rails/form_tag
「formtag rails」で検索!
Rails Guide も、翻訳されてる
>>582
>favorite_count = favorite_count + 1
この1 を、10 に変えれば?
597デフォルトの名無しさん (ワッチョイ 3ff1-NJGG)
2020/06/29(月) 06:54:27.43ID:DbC543670 そりゃそんな人も居るだろうけど
元からアレな人も多い場所なような
元からアレな人も多い場所なような
598デフォルトの名無しさん (ワッチョイ 3f52-RSi0)
2020/06/29(月) 09:08:37.94ID:L39gVdue0599595 (ワッチョイ cf2c-wMgy)
2020/06/29(月) 10:38:59.75ID:ze6DZkOI0 すべてのスレで、荒らしが書き込んでいるだけ。
それを知らない香具師が、ムキになって怒るのが面白いから、荒らしが居着いている
荒らしを無視すればよい
荒らしはプログラマーじゃないし、ソースコードを書いたりできない。
今までに、1度も見たことない
それを知らない香具師が、ムキになって怒るのが面白いから、荒らしが居着いている
荒らしを無視すればよい
荒らしはプログラマーじゃないし、ソースコードを書いたりできない。
今までに、1度も見たことない
600デフォルトの名無しさん (ワッチョイ 4f5f-RWQ3)
2020/06/29(月) 19:10:25.31ID:Z1Xkd3Wv0601デフォルトの名無しさん (ワッチョイ 35e6-k+PU)
2020/07/11(土) 08:27:46.76ID:+b7VkVW+0 pacman -Ss crystal
で見つからないんだけどどうすればいい?
で見つからないんだけどどうすればいい?
602デフォルトの名無しさん (ワッチョイ 812c-WQpp)
2020/07/24(金) 00:27:00.70ID:So4dssPK0 >>2
パーフェクト Ruby on Rails 【増補改訂版】 (Perfect series)、2020/07/25
Ruby 2.6.6
Rails 6.0.3
Windows 10 では、WSL 2
パーフェクト Ruby on Rails 【増補改訂版】 (Perfect series)、2020/07/25
Ruby 2.6.6
Rails 6.0.3
Windows 10 では、WSL 2
603デフォルトの名無しさん (アウアウウー Sa5d-m51P)
2020/07/26(日) 10:48:31.22ID:HGPhhgaZa chompとchomp!って違うメソッドなの?
604デフォルトの名無しさん (オッペケ Sr85-BZqs)
2020/07/26(日) 11:19:09.80ID:7Vkc7l/lr 違うメソッドです
605デフォルトの名無しさん (ワッチョイ 8bbb-KdZo)
2020/07/26(日) 17:07:40.93ID:rQ/Jznn00 このところ、悪徳商法っぽいRuby教材屋が目立つな
606デフォルトの名無しさん (ワイーワ2 FF63-keh3)
2020/07/27(月) 10:58:24.12ID:vNtx9fDhF reverse() と reversed() って違うメソッドなの?
607デフォルトの名無しさん (ワッチョイ 8bbb-KdZo)
2020/07/27(月) 19:41:14.37ID:hN1elWPu0 そら違うわ
608デフォルトの名無しさん (ワッチョイ 137c-a4SN)
2020/07/27(月) 22:22:40.84ID:2I3xUck90 頭悪くてプログラムしかできなかった大企業CEO一覧
http://re-file.com/18k/1677/
http://re-file.com/18k/1677/
609デフォルトの名無しさん (ワッチョイ 8b14-nUry)
2020/07/27(月) 22:30:54.33ID:3jtmTLJJ0 >>608
本当の内容
【メキシコ】麻薬カルテル、ライバル組織の女を拘束、手足を縛り生きたまま解体 - 18禁グロ
▼カテゴリ - 18禁グロには一部、異様・奇怪・猟奇的・暴力シーン・グロテスクな表現が含まれていますので、閲覧制限をしています。
1. 18歳未満は閲覧禁止です。
2. 耐性が無い方は閲覧しないでください。
3. 閲覧は自己責任でお願い致します。
※上記、18歳以上で同意できる方は入室してください。
本当の内容
【メキシコ】麻薬カルテル、ライバル組織の女を拘束、手足を縛り生きたまま解体 - 18禁グロ
▼カテゴリ - 18禁グロには一部、異様・奇怪・猟奇的・暴力シーン・グロテスクな表現が含まれていますので、閲覧制限をしています。
1. 18歳未満は閲覧禁止です。
2. 耐性が無い方は閲覧しないでください。
3. 閲覧は自己責任でお願い致します。
※上記、18歳以上で同意できる方は入室してください。
610デフォルトの名無しさん (アウアウカー Saad-uqf9)
2020/08/05(水) 18:18:51.33ID:Tkocud9ba rails6使いづらくないです?
なによりこんなNode.jsに頼るならNode.js使えばいいじゃないです?
なによりこんなNode.jsに頼るならNode.js使えばいいじゃないです?
611デフォルトの名無しさん (テテンテンテン MM8b-lmhp)
2020/08/06(木) 14:59:04.20ID:wG3o2yHhM >>610
Railsは開発者に一貫性の高い開発スイートとワークフローを提供するというコンセプトではあるけど、
それ以前にWeb開発のスタンダードから外れてはいけないというのが大前提だ
いくらRailsの思想に合わなかろうが、たとえばMSのClassic ASP.NETみたいな標準をガン無視した独自路線へ行くのは絶対NG
でRuby自体がもはやWebのスタンダードではなくなりつつある今、大きな歪みが生じているわけだ
Railsは開発者に一貫性の高い開発スイートとワークフローを提供するというコンセプトではあるけど、
それ以前にWeb開発のスタンダードから外れてはいけないというのが大前提だ
いくらRailsの思想に合わなかろうが、たとえばMSのClassic ASP.NETみたいな標準をガン無視した独自路線へ行くのは絶対NG
でRuby自体がもはやWebのスタンダードではなくなりつつある今、大きな歪みが生じているわけだ
612デフォルトの名無しさん (アウアウカー Saad-uqf9)
2020/08/07(金) 18:42:11.83ID:ujPQ3UKLa613デフォルトの名無しさん (ワッチョイ 1b8c-gyt0)
2020/08/08(土) 09:55:56.13ID:ZxDC46c+0 別言語のは移行が簡単なのか
614デフォルトの名無しさん (ワッチョイ a935-GKXO)
2020/08/09(日) 19:19:40.37ID:En2E3W9T0 NokogiriのTutorialsを見てます。
html_doc = Nokogiri::HTML("<html><body><h1>Mr. Belvedere Fan Club</h1></body></html>")
このコードでHTMLモジュールのparseメソッドが呼び出せる様なのですが、なぜモジュール名の後にカッコを付ければ、parseメソッドが呼び出せるのでしょう?
HTMLメソッドが定義してあって、その中でparseメソッドが呼び出されているのでしょうか?
html_doc = Nokogiri::HTML("<html><body><h1>Mr. Belvedere Fan Club</h1></body></html>")
このコードでHTMLモジュールのparseメソッドが呼び出せる様なのですが、なぜモジュール名の後にカッコを付ければ、parseメソッドが呼び出せるのでしょう?
HTMLメソッドが定義してあって、その中でparseメソッドが呼び出されているのでしょうか?
615デフォルトの名無しさん (ワッチョイ a935-GKXO)
2020/08/09(日) 19:26:01.08ID:En2E3W9T0 >>614
module Nokogiri
def HTML(s)
puts s
end
module_function :HTML
end
Nokogiri::HTML("module OK") # => module OK
なんと、HTMLメソッドが定義されてました。
module Nokogiri
def HTML(s)
puts s
end
module_function :HTML
end
Nokogiri::HTML("module OK") # => module OK
なんと、HTMLメソッドが定義されてました。
616デフォルトの名無しさん (ワッチョイ a935-GKXO)
2020/08/09(日) 19:45:48.04ID:En2E3W9T0 [スクレイピングのためのNokogiri利用メモ - それはそれ、これはこれ](http://otn.hatenablog.jp/entry/20090509/p1)
クラス構造の理解:Nokogiri
クラス構造の理解:Nokogiri
617デフォルトの名無しさん (オッペケ Sr5d-f2iR)
2020/08/09(日) 20:05:29.17ID:CEZ97NChr KernelにArrayメソッドがあるのと似たようなもんだな
618デフォルトの名無しさん (ワッチョイ 594e-cUya)
2020/08/09(日) 22:21:32.35ID:sb6ynJ/q0 >>610
勘のいいガキは嫌い
勘のいいガキは嫌い
619デフォルトの名無しさん (ワッチョイ ebbb-VtC7)
2020/08/09(日) 23:52:58.94ID:wetuPPrU0 Railsがマイクロサービスが流行って廃れたようなことを言う人もいるけどさ
サーバ側でセッション情報を保持しないのが主流になった時点でもう、重量級フレームワークは終わりだったんじゃないのかな
サーバ側でセッション情報を保持しないのが主流になった時点でもう、重量級フレームワークは終わりだったんじゃないのかな
620デフォルトの名無しさん (ワッチョイ a935-GKXO)
2020/08/11(火) 07:39:46.13ID:a9fFSUGp0 >>614
NokogiriのRDocを見てます。
Nodeオブジェクトの
content, text, inner_text, to_str
メソッドは、みな同じって事ですかねぇ?
to_str以外、試してみたら同じ文字列が返って来ます。
to_strは後で試してみます。
NokogiriのRDocを見てます。
Nodeオブジェクトの
content, text, inner_text, to_str
メソッドは、みな同じって事ですかねぇ?
to_str以外、試してみたら同じ文字列が返って来ます。
to_strは後で試してみます。
621デフォルトの名無しさん (ワッチョイ a935-GKXO)
2020/08/11(火) 08:03:23.46ID:a9fFSUGp0 >>619
じゃぁ、Session情報はどこに保存?
じゃぁ、Session情報はどこに保存?
622デフォルトの名無しさん (ワッチョイ 9301-X9Sf)
2020/08/11(火) 11:44:25.69ID:giB5l2E50 >>620
aliasなのでみんな同じ
https://github.com/sparklemotion/nokogiri/blob/master/lib/nokogiri/xml/node.rb#L370
ドキュメントにはalias書いてなくて不親切だね
aliasなのでみんな同じ
https://github.com/sparklemotion/nokogiri/blob/master/lib/nokogiri/xml/node.rb#L370
ドキュメントにはalias書いてなくて不親切だね
623デフォルトの名無しさん (ワッチョイ a935-GKXO)
2020/08/11(火) 12:51:41.54ID:a9fFSUGp0 >>622
great thx!
great thx!
624デフォルトの名無しさん (ワッチョイ 6961-747+)
2020/08/11(火) 16:35:32.49ID:pA06ApZK0 >>610
JSの方が、ブロックが楽に書けるし、数値の0がfalseの意味を持っているので分かり易いし、複数行コメントに /*・・・*/ が使えて便利だし、
if 文の条件式を ()で囲むし、単一行コメントが // だし、Cと似ている。
JSの方が、ブロックが楽に書けるし、数値の0がfalseの意味を持っているので分かり易いし、複数行コメントに /*・・・*/ が使えて便利だし、
if 文の条件式を ()で囲むし、単一行コメントが // だし、Cと似ている。
625デフォルトの名無しさん (アメ MM75-cUya)
2020/08/11(火) 16:52:37.77ID:nNWMPbxDM if文の()?正直いらねえわ。
goみたいになくしてほしい。
if()単文;で書けて嬉しいことなんてほとんどないし。
goみたいになくしてほしい。
if()単文;で書けて嬉しいことなんてほとんどないし。
626デフォルトの名無しさん (アウアウエー Sa23-e++8)
2020/08/11(火) 20:23:27.98ID:Uga1WByLa 自動的に if then else end に展開するスクリプトを書けば
問題解決じゃないの?
問題解決じゃないの?
627デフォルトの名無しさん (ワッチョイ e52c-dj0b)
2020/08/12(水) 01:36:05.08ID:UVmFgkue0 JavaScript, PHP, Python は、各型に偽があるので、10個ぐらいあって大変。
0, 0.0, 空文字列、空配列、空辞書とか
Ruby では、nil, false だけが偽だから、変数の型を考えなくて済む。
各型が偽になる条件を考えるのは、苦痛
確か、Rails には、そういう関数があったかも知れない
0, 0.0, 空文字列、空配列、空辞書とか
Ruby では、nil, false だけが偽だから、変数の型を考えなくて済む。
各型が偽になる条件を考えるのは、苦痛
確か、Rails には、そういう関数があったかも知れない
628デフォルトの名無しさん (ワッチョイ 4d61-CWhB)
2020/08/12(水) 02:44:28.08ID:2N2Ra+Iw0 しかし、コンピュータは、ロジック回路や電卓の時代から、0が偽で、1が真と
決められ、TTL-ICでも、NAND, NOR,AND,OR,NOTのどれもがその規則に
従っていた。
アセンブラやマシン語でもそれが踏襲され、1 and 1 = 1, 1 and 0 = 0となる。
とこが、Rubyだけは、1 and 0 = 1 というような変なことになる。
これは受け入れがたい。
こういうコンピュータの基礎を無視するようなことしてるのは困る。
決められ、TTL-ICでも、NAND, NOR,AND,OR,NOTのどれもがその規則に
従っていた。
アセンブラやマシン語でもそれが踏襲され、1 and 1 = 1, 1 and 0 = 0となる。
とこが、Rubyだけは、1 and 0 = 1 というような変なことになる。
これは受け入れがたい。
こういうコンピュータの基礎を無視するようなことしてるのは困る。
629デフォルトの名無しさん (ワッチョイ 2e63-cv7i)
2020/08/12(水) 02:52:44.69ID:02pnoruX0 rubyの0はメモリに何も入ってないのを表すんじゃなくてNumericクラスのインスタンス
何かのインスタンスなんだから真なのは自然
rubyの全てオブジェクトという基礎を無視するのは困る
何かのインスタンスなんだから真なのは自然
rubyの全てオブジェクトという基礎を無視するのは困る
630デフォルトの名無しさん (ワッチョイ 4d61-CWhB)
2020/08/12(水) 03:08:54.56ID:2N2Ra+Iw0631デフォルトの名無しさん (ワッチョイ 4d61-CWhB)
2020/08/12(水) 03:12:27.26ID:2N2Ra+Iw0 数学の世界でも、真理値表では、0が偽、1が真。
andを「論理積」というのは、andを掛け算(つまり「積」)に置き換えてみると
結果が同じになり、
orを「論理和」というのも、足し算を「飽和演算」とする場合に、足し算に
置き換えられるからで、
それらは、0を偽とした場合にのみ成り立つ。
0も1も真としてしまっては、これら、論理積、論理和という言葉の定義すら
理解しにくくなってしまうだろう。
andを「論理積」というのは、andを掛け算(つまり「積」)に置き換えてみると
結果が同じになり、
orを「論理和」というのも、足し算を「飽和演算」とする場合に、足し算に
置き換えられるからで、
それらは、0を偽とした場合にのみ成り立つ。
0も1も真としてしまっては、これら、論理積、論理和という言葉の定義すら
理解しにくくなってしまうだろう。
632デフォルトの名無しさん (ワッチョイ 7133-UdbQ)
2020/08/12(水) 04:29:24.89ID:RMBTHnXK0633デフォルトの名無しさん (ワッチョイ 468c-/3LZ)
2020/08/12(水) 05:16:20.30ID:pHDlYbYE0 いやいや、そもそも0や1が真になるのがおかしい
if 0 then 〜 はエラーにすべきだろう
if 0 then 〜 はエラーにすべきだろう
634デフォルトの名無しさん (ワッチョイ ed35-ZVh2)
2020/08/12(水) 07:16:25.66ID:MEC6nwIV0 俺は、Rubyではnil, falseだけが偽とする。0を偽としないって設計は好きだな。
Conventionalな考え方とは異なるってのも別に良いじゃん。
そんなConventionalな、つまり従来の考え方を踏襲しない言語なんて一杯あるし。
これが気に入らんのは、Kotlinでfunで関数定義するやつ。
Conventionalな考え方とは異なるってのも別に良いじゃん。
そんなConventionalな、つまり従来の考え方を踏襲しない言語なんて一杯あるし。
これが気に入らんのは、Kotlinでfunで関数定義するやつ。
635デフォルトの名無しさん (ワッチョイ 454e-/dLM)
2020/08/12(水) 07:25:45.86ID:q4xTlvo30 まあ一番基本的であろうdefで作った関数(ほんとは関数じゃないというのは置いといて)が第一級市民(オブジェクトと言うと誤解を招くので)として扱われない仕様には若干古くささを感じる。
JSどころかPythonですらできるのに…
引数ゼロで呼び出しかかっちゃうんだよなぁ…
()省略文法の弊害。
今思えば必須でよかったんじゃないか?()くらい
JSどころかPythonですらできるのに…
引数ゼロで呼び出しかかっちゃうんだよなぁ…
()省略文法の弊害。
今思えば必須でよかったんじゃないか?()くらい
636デフォルトの名無しさん (ワッチョイ e52c-dj0b)
2020/08/12(水) 08:00:48.62ID:UVmFgkue0 Ruby では、関数・ブロック(クロージャ)の2つのスコープがある。
2つないと、バグりやすい
関数は、クロージャと違って、スコープが厳しい。
C と同じで、外側の変数を通さないから、バグが少ない
Go も、Rubyを見習ったし、
JavaScript も、新たなスコープを作った
2つないと、バグりやすい
関数は、クロージャと違って、スコープが厳しい。
C と同じで、外側の変数を通さないから、バグが少ない
Go も、Rubyを見習ったし、
JavaScript も、新たなスコープを作った
637デフォルトの名無しさん (ブーイモ MM85-bVkb)
2020/08/12(水) 08:34:16.06ID:lEc3olaBM 老害の極み
1 and 0 なんてコードを書こうとするほうがどうかしてる
1 and 0 なんてコードを書こうとするほうがどうかしてる
638デフォルトの名無しさん (ワッチョイ ed35-ZVh2)
2020/08/12(水) 08:38:11.02ID:MEC6nwIV0639デフォルトの名無しさん (アメ MM55-/dLM)
2020/08/12(水) 08:49:24.26ID:1xAI9U35M ぶっちゃけ今どきるびぃみたいな型なしクソ言語にしがみついてるやつらが老害だけどなw
640デフォルトの名無しさん (テテンテンテン MM26-ocCp)
2020/08/12(水) 09:10:24.00ID:fvB0TNCqM >>635
オブジェクト指向原理主義的には、メソッドはオブジェクトに対してメッセージを送信した結果生じるオブジェクトの「反応」なんだよ
そこは完全にオブジェクト側に任されていて、オブジェクト自体がRubyの仮想マシン上でどう実装されてるかすらも呼び出し側が期待するべきではないの
JavaScriptだとオブジェクトが単なる連想配列であるという前提のもとでそこからメソッドを引っ張り出して呼び出すわけだけど、それはある意味オブジェクトのカプセル化を破っているというわけ
そういう思想的背景を理解すれば、Rubyのメソッドが第一級関数ではない理由は君にも納得できるんじゃないかな
まあその思想に拘ることにどれだけ実用的意義があるかは別問題で、俺もRubyが時代遅れだというのは同意するけどね
オブジェクト指向原理主義的には、メソッドはオブジェクトに対してメッセージを送信した結果生じるオブジェクトの「反応」なんだよ
そこは完全にオブジェクト側に任されていて、オブジェクト自体がRubyの仮想マシン上でどう実装されてるかすらも呼び出し側が期待するべきではないの
JavaScriptだとオブジェクトが単なる連想配列であるという前提のもとでそこからメソッドを引っ張り出して呼び出すわけだけど、それはある意味オブジェクトのカプセル化を破っているというわけ
そういう思想的背景を理解すれば、Rubyのメソッドが第一級関数ではない理由は君にも納得できるんじゃないかな
まあその思想に拘ることにどれだけ実用的意義があるかは別問題で、俺もRubyが時代遅れだというのは同意するけどね
641デフォルトの名無しさん (アウアウウー Saa5-Z0Eo)
2020/08/12(水) 09:42:55.58ID:/4eCUYwNa これ本当なのですか?
Ruby on Rails では、サーバー側がRubyで、
クライアント側が、React + Bootstrap も多いけど、
サーバー側をJavaScript(JS), Node.js にすれば、
言語が1つになるので、開発が楽になると主張する人もいるけど、
あまりに、JSは巨大だから、かえって難しくなる
だから、Rails では、Node.js, Webpack, Babel をコンパイルツールとして使っているだけ
Ruby on Rails では、サーバー側がRubyで、
クライアント側が、React + Bootstrap も多いけど、
サーバー側をJavaScript(JS), Node.js にすれば、
言語が1つになるので、開発が楽になると主張する人もいるけど、
あまりに、JSは巨大だから、かえって難しくなる
だから、Rails では、Node.js, Webpack, Babel をコンパイルツールとして使っているだけ
642デフォルトの名無しさん (アウアウウー Saa5-ocCp)
2020/08/12(水) 09:55:36.17ID:sCXl4KJWa > あまりに、JSは巨大だから、かえって難しくなる
ここが飛躍していて意味不明である
RailsはサーバーサイドだけであってもJSよりRubyで書いた方が簡単だと思っている奴が使うためのフレームワークであり、それに正しいもクソもない
そう思う奴が少なければ自然に廃れるだけだし、事実廃れている
ここが飛躍していて意味不明である
RailsはサーバーサイドだけであってもJSよりRubyで書いた方が簡単だと思っている奴が使うためのフレームワークであり、それに正しいもクソもない
そう思う奴が少なければ自然に廃れるだけだし、事実廃れている
643デフォルトの名無しさん (ワッチョイ e52c-dj0b)
2020/08/12(水) 10:22:22.84ID:UVmFgkue0 JS は最近まで、基本型であるハッシュも無かった
皆、オブジェクトをハッシュの代わりに使っていたけど、
__proto__ という属性名を使うと、バグってしまう
こういう事も知ってる香具師は、まずいない。
標準機能が少なくて、自作すると、様々な引掛けに掛かってしまう
var myObj = { };
str = 'abc';
myObj[ str ] = 1;
console.log( myObj[ str ] ); // 1
str = '__proto__';
myObj[ str ] = 2;
console.log( myObj[ str ] ); // 2 ではなく、{ }
皆、オブジェクトをハッシュの代わりに使っていたけど、
__proto__ という属性名を使うと、バグってしまう
こういう事も知ってる香具師は、まずいない。
標準機能が少なくて、自作すると、様々な引掛けに掛かってしまう
var myObj = { };
str = 'abc';
myObj[ str ] = 1;
console.log( myObj[ str ] ); // 1
str = '__proto__';
myObj[ str ] = 2;
console.log( myObj[ str ] ); // 2 ではなく、{ }
644デフォルトの名無しさん (ワッチョイ aebb-jUmA)
2020/08/12(水) 10:28:49.86ID:0iqLL9pv0 Railsは、PHP全盛期に誰が使っても大穴が開かないから人気があっただけでさ
Node.js等に優秀なフレームワークが出そろった今ではもう、使う価値はほとんどないよ・・・・
Node.js等に優秀なフレームワークが出そろった今ではもう、使う価値はほとんどないよ・・・・
645デフォルトの名無しさん (ワッチョイ 7133-UdbQ)
2020/08/12(水) 12:33:47.08ID:RMBTHnXK0646643 (ワッチョイ e52c-dj0b)
2020/08/12(水) 12:51:13.63ID:UVmFgkue0 使っている単語を集めるアプリで、__proto__ が使われていたら、バグる
Haxe では、この仕様を回避するために、すべての属性名の先頭に、@ を付けていた。
@abc, @__proto__ みたいにする
でも、__proto__ も、ブラウザが慣習として使っているだけのもので、
規格で決まっているわけでもないので、変わるかも知れない
もし変わったら、突然アプリがバグってしまう
各社が、勝手に決めている部分も多いから、プログラミングしにくい。
言語の標準機能が少ないから、配列の便利な操作でも、
Lodash など外部のライブラリを使うしかない
Haxe では、この仕様を回避するために、すべての属性名の先頭に、@ を付けていた。
@abc, @__proto__ みたいにする
でも、__proto__ も、ブラウザが慣習として使っているだけのもので、
規格で決まっているわけでもないので、変わるかも知れない
もし変わったら、突然アプリがバグってしまう
各社が、勝手に決めている部分も多いから、プログラミングしにくい。
言語の標準機能が少ないから、配列の便利な操作でも、
Lodash など外部のライブラリを使うしかない
647デフォルトの名無しさん (テテンテンテン MM26-tgXM)
2020/08/12(水) 13:21:10.21ID:/qrw2h6bM 標準なのかRailsの独自拡張なのかの区別すら困難なほどにRailsにクソミソに汚されたRubyの悪口はやめなさい
少なくともJSにおいては、標準ライブラリを汚すような行儀の悪いライブラリが広く一般的に使用されたりはしていない
少なくともJSにおいては、標準ライブラリを汚すような行儀の悪いライブラリが広く一般的に使用されたりはしていない
648デフォルトの名無しさん (オッペケ Srf1-wvIG)
2020/08/12(水) 13:25:19.87ID:kGuev0jHr TSでいいじゃない 人間だもの
649デフォルトの名無しさん (ワッチョイ 8201-FRDO)
2020/08/12(水) 14:24:08.46ID:HozojyCs0 暑くなるとどのスレにも変なのが湧くね
知ってて批評する分にはいいけど知ったか批評しかなく中身がない
知ってて批評する分にはいいけど知ったか批評しかなく中身がない
650デフォルトの名無しさん (ブーイモ MMb6-bVkb)
2020/08/12(水) 15:43:20.47ID:8Nm8vDB1M unixの世界では0がtrue、1を含むそれ以外がfalse。
慣習よりも実益が上回るなら、慣習に従う必要なんてない。
Swift、Kotlin、Go、Rustらのメジャーな新言語で0や1をそのまま真偽値として使える言語は一つとしてないのは、JSのtruthy/falsyはバグの温床だから。
慣習よりも実益が上回るなら、慣習に従う必要なんてない。
Swift、Kotlin、Go、Rustらのメジャーな新言語で0や1をそのまま真偽値として使える言語は一つとしてないのは、JSのtruthy/falsyはバグの温床だから。
>>650
それはシェルが扱う「プログラムの」返値のときで、しかも意味は 0 が正常終了、1 が非正常終了、と、ちょっと違う
それはシェルが扱う「プログラムの」返値のときで、しかも意味は 0 が正常終了、1 が非正常終了、と、ちょっと違う
652デフォルトの名無しさん (ワッチョイ 7133-UdbQ)
2020/08/12(水) 17:41:31.55ID:RMBTHnXK0654デフォルトの名無しさん (ワッチョイ 7133-UdbQ)
2020/08/12(水) 18:29:24.32ID:RMBTHnXK0 >>653
「終了」だけの話じゃないから。
「終了」だけの話じゃないから。
655デフォルトの名無しさん (ワイーワ2 FF8a-jwrZ)
2020/08/13(木) 10:20:15.54ID:m1xh97jBF656デフォルトの名無しさん (ワッチョイ 7133-UdbQ)
2020/08/13(木) 11:02:33.72ID:HLH3bdVq0657デフォルトの名無しさん (ワッチョイ 4d61-CWhB)
2020/08/13(木) 11:27:21.81ID:+ydphYXd0 >>650
それは真偽値じゃなく、0が成功、0以外がエラーで、番号でエラーの種類を表しているだけ。
Unixでは、誕生の時から、Cと二人三脚だったが、Cはもともと1が真、0が偽だった
わけだから、Unixも当然、1が真、0が偽。
エラー番号は、真偽値とは直接関係が無く、Unixとは関係ないMS-DOSや
PC-8801のアセンブラの世界でも、0が成功、0以外でエラーの種類を表すことが
多かった。なぜかといえば、それが効率が良かったから。
当時のCPUは非力だったので、そのように1つの整数で多くの情報を表すと、
飛躍的に体感速度が上がったからそうなっていた。
それは真偽値じゃなく、0が成功、0以外がエラーで、番号でエラーの種類を表しているだけ。
Unixでは、誕生の時から、Cと二人三脚だったが、Cはもともと1が真、0が偽だった
わけだから、Unixも当然、1が真、0が偽。
エラー番号は、真偽値とは直接関係が無く、Unixとは関係ないMS-DOSや
PC-8801のアセンブラの世界でも、0が成功、0以外でエラーの種類を表すことが
多かった。なぜかといえば、それが効率が良かったから。
当時のCPUは非力だったので、そのように1つの整数で多くの情報を表すと、
飛躍的に体感速度が上がったからそうなっていた。
658デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/13(木) 19:09:06.75ID:Tr7DEHMo0 dllでchar* hoge(){
}
}
659デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/13(木) 19:11:24.89ID:Tr7DEHMo0 dllで
char* hoge(){
return msg;
}
ってやったのをrubyではどうやってうけとればいいんですか?
お願いします
char* hoge(){
return msg;
}
ってやったのをrubyではどうやってうけとればいいんですか?
お願いします
660デフォルトの名無しさん (ワッチョイ e52c-178q)
2020/08/14(金) 05:15:39.54ID:SCMnTycc0 「ruby dll 呼び出し」で検索すれば?
ただ、Windows 用にコンパイルしても、正常に動くかな?
ただ、Windows 用にコンパイルしても、正常に動くかな?
661デフォルトの名無しさん (アウウィフ FFa5-jwrZ)
2020/08/14(金) 15:59:11.59ID:XKPWE/tlF ffi
662デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/14(金) 16:44:23.46ID:MuRP3aMr0 require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "D:./myruby.dll"
extern "char* gethoge()"
end
ss = M.gethoge
puts ss
文字化けします
module M
extend Fiddle::Importer
dlload "D:./myruby.dll"
extern "char* gethoge()"
end
ss = M.gethoge
puts ss
文字化けします
663デフォルトの名無しさん (ワッチョイ 7133-UdbQ)
2020/08/14(金) 17:05:39.60ID:B0hSR/wp0 文字コードが違うんやろ。
変換すれば。
変換すれば。
664デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/14(金) 17:27:30.31ID:MuRP3aMr0 変換のしかたがわからないのです
665デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/14(金) 17:28:37.41ID:MuRP3aMr0 dllはshiftjisです
666デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/14(金) 17:30:52.13ID:MuRP3aMr0 `require': cannot load such file -- ffi
667デフォルトの名無しさん (ワッチョイ 1e7d-yoZq)
2020/08/14(金) 17:44:20.45ID:cCFmHkiX0 >>662
ss = M.gethoge.force_encoding( Encoding::CP932 )
ss = M.gethoge.force_encoding( Encoding::CP932 )
668デフォルトの名無しさん (エムゾネ FF62-jwrZ)
2020/08/14(金) 18:18:09.19ID:zY2s9ydfF ruby -Ks
669デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/14(金) 18:24:57.25ID:MuRP3aMr0 一通りやったのに問題解決しませんでした、諦めました
どうもありがとうございました
どうもありがとうございました
670デフォルトの名無しさん (オッペケ Srf1-wvIG)
2020/08/14(金) 18:35:40.73ID:5nafUaAcr dllがShift-JISでrubyがUTF-8でターミナルがWindows-32Jとかなんじゃねえの
情報を小出しにされたんじゃわかるわけない
情報を小出しにされたんじゃわかるわけない
671デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/14(金) 18:40:48.13ID:MuRP3aMr0 それです
ターミナルがよくわかりません
ターミナルがよくわかりません
672デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/14(金) 18:42:22.56ID:MuRP3aMr0 ターミナルはshiftjisでした
673デフォルトの名無しさん (オッペケ Srf1-wvIG)
2020/08/14(金) 18:58:09.61ID:5nafUaAcr そもそも本当に文字化けなのか?
想定する文字列と
p ss
した結果は?
想定する文字列と
p ss
した結果は?
674デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/14(金) 19:03:22.47ID:MuRP3aMr0 #<Fiddle::Pointer:0x000000000313e7d0 ptr=0x00007ffea5c03038 size=0 free=0x0000000000000000>
675デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/14(金) 19:04:10.92ID:MuRP3aMr0 require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "D:./myruby.dll"
extern "char* gethoge()"
end
p M.gethoge
system "pause"
module M
extend Fiddle::Importer
dlload "D:./myruby.dll"
extern "char* gethoge()"
end
p M.gethoge
system "pause"
676デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/14(金) 19:06:41.96ID:MuRP3aMr0 想定する文字列は「こんにちは!」です
677デフォルトの名無しさん (ワッチョイ 1e7d-yoZq)
2020/08/14(金) 19:07:56.76ID:cCFmHkiX0 p M.gethoge.encoding
678デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/14(金) 19:08:46.36ID:MuRP3aMr0 puts M.gethoge
だと
S0�0k0a0o0�
だと
S0�0k0a0o0�
679デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/14(金) 19:10:43.30ID:MuRP3aMr0 >>677
undefined method `encoding' for #<Fiddle::Pointer:0x0000000002c42230> (NoMethodError)
undefined method `encoding' for #<Fiddle::Pointer:0x0000000002c42230> (NoMethodError)
680デフォルトの名無しさん (ワッチョイ 1e7d-yoZq)
2020/08/14(金) 19:16:58.97ID:cCFmHkiX0 p M.gethoge.to_s.encoding
681デフォルトの名無しさん (ワッチョイ dd5f-XQXO)
2020/08/14(金) 19:19:22.81ID:MuRP3aMr0 >>680
#<Encoding:ASCII-8BIT>
#<Encoding:ASCII-8BIT>
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本の立場説明へ…外務省局長が北京到着 “台湾有事”首相答弁に中国反発 ★3 [煮卵★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★2 [蚤の市★]
- NHK、受信料の未払い世帯に督促強化へ 民事手続きの新組織を設置 差し押さえなどの強制執行も [1ゲットロボ★]
- 【外国人問題】小野田紀美担当相「不法就労や不法滞在は許さない」 [シャチ★]
- 橋下徹氏「この喧嘩は日本の完敗」 台湾有事答弁めぐる外務省局長訪中で指摘「中国に怒られてご説明に伺った日本と見られる」 [muffin★]
- 【日本大使館】中国在留邦人は安全確保を [ぐれ★]
- やす子「ここまで総理大臣が自らズバッと言ったのは初めて。日本の防衛力も大きく変わっていく」 [485187932]
- 韓国、泥船から爆速で逃げ出す 「高市…さん…でしたっけ?」 [878970802]
- 高市早苗の中国問題、「オーバーツーリズムが解消されてウザい中国人が消えるから日本の勝ち」という風潮になってしまう [562983582]
- 【忖度】野村総研、痛恨のミス!中国人の訪日自粛で2兆2000億円の経済損失!と、はじいたが誤りだった。4000億減って1.8兆円。高市 [219241683]
- 「稼ぐのよ!」高市が電話でガチャ切り😱鈴木農水大臣に伝えたこと… [993451824]
- 【悲報】有名ウヨ論客、「現実的に考えて中国と仲直りするしかなくね?」と言ったら野良ウヨから総叩きにあう [856698234]
