[過去ログ]
Ruby 初心者スレッド Part 66 (1002レス)
Ruby 初心者スレッド Part 66 http://mevius.5ch.net/test/read.cgi/tech/1578068134/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
708: デフォルトの名無しさん (ワッチョイ 1f6a-Mhwj) [] 2020/08/19(水) 14:06:31.62 ID:jdryYSd80 agent.getの時点でcookieの情報って得られてるんですね http://mevius.5ch.net/test/read.cgi/tech/1578068134/708
709: デフォルトの名無しさん (ワッチョイ 1f6a-Mhwj) [] 2020/08/19(水) 14:20:11.51 ID:jdryYSd80 >>705 seleniumはブラウザ操作でmechanizeはhttp解析?みたいな感じですか? http://mevius.5ch.net/test/read.cgi/tech/1578068134/709
710: デフォルトの名無しさん (ワッチョイ 1f35-6L5+) [] 2020/08/19(水) 20:08:35.13 ID:JONuvCWb0 >>689 よく調べたわけじゃ無いけど、 CSRF, クロスサイトリクエストフォージェリ、サイバー攻撃の一種対策されてるんじゃないかなぁ。 つまり、何某かのTokenが5chから送られていて、そいつをPOSTしないといけないとか。 5chのサイトからPOSTする時には、<input type=“hidden” value=“Token” name=“CSRF対策”>とかのタグがあって、Submitと共に自動送信される。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/710
711: 700 (ワッチョイ 1f2c-1yu9) [sage] 2020/08/19(水) 22:43:49.56 ID:w/3evjlx0 プログラム板のtest スレと、その確認画面は、どちらも、mevius.5ch.net だから、 クロスドメインアクセスにはならない ただ、HTML は本来、1回限りのアクセスで、前後のページには関係がない。 それを関係があるようにするために、ブラウザのクッキーを使って、セッションを結ぶ こういうセッションがあるものは難しい。 5ch 側は仕様を知っているけど、分析する方は、仕様を知らないから、 ずっと他人のアプリを解析しなければならない 漏れは、解析するのが面倒だから、selenium webdriver を使って、ブラウザにやらす。 ただ、これはブラウザの操作でも、難しい クッキーが無ければ確認画面が出て、有れば確認画面が出ない。 こういう条件判断をしないといけないから、難しい Ruby on Rails でも、システムテストには、Capybara を使うけど、 これは、seleniumで、Headless Chrome を使っている 他人のアプリの解析は、HTML ヘッダーなどを分析しないといけないから、かなり難しい。 スクレイピングをやってる香具師で、こういうのを知ってる香具師は、まずいない。 HTMLヘッダーなんて、無数の項目があるから http://mevius.5ch.net/test/read.cgi/tech/1578068134/711
712: 700 (ワッチョイ 1f2c-1yu9) [sage] 2020/08/19(水) 22:57:07.95 ID:w/3evjlx0 たぶん、Mechanizeは、Nokogiri みたいなものなんだろう その時点のHTML を取得するだけ。 ちょっとした、GET, POST などは、出来るけど JavaScript, Ajax で動的にページを作ったものには、対応できないとか http://mevius.5ch.net/test/read.cgi/tech/1578068134/712
713: デフォルトの名無しさん (ワッチョイ 1f35-6L5+) [] 2020/08/20(木) 06:07:11.62 ID:5ApdpCMn0 >>712 MechanizeはServerから受け取ったCookieを返すよ。 だから、POSTしたパラメータに問題があって上手くいかないのだ。 書き込み画面のHTMLからinputタグをscrapingしてhidden属性の付いてるのを探す事が先決。 見つかったらそのname, valueを取り出してPOSTパラメータへセットしてやれば良い。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/713
714: デフォルトの名無しさん (ワッチョイ 1f35-6L5+) [] 2020/08/20(木) 06:08:32.79 ID:5ApdpCMn0 seleniumが簡単だが、動作が重い。 Mechanizeでがんばれ! http://mevius.5ch.net/test/read.cgi/tech/1578068134/714
715: デフォルトの名無しさん (ワッチョイ 1f35-6L5+) [] 2020/08/20(木) 06:38:17.41 ID:5ApdpCMn0 >>687 これは違う! 外部・CP932 → Ruby内部・CP932 → 外部・CP932 が正解。 Ruby内部は、外部・CP932であればCP932だし、UTF-8なら、それに合わせて、Ruby内部・UTF-8なのだ。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/715
716: デフォルトの名無しさん (ワッチョイ 1f35-6L5+) [] 2020/08/20(木) 06:39:16.98 ID:5ApdpCMn0 >>708 agent.cookies http://mevius.5ch.net/test/read.cgi/tech/1578068134/716
717: デフォルトの名無しさん (ワッチョイ 1f35-6L5+) [] 2020/08/20(木) 07:05:48.71 ID:5ApdpCMn0 大抵のWebサイトのFormは、Formを表示したBrowserからしか、POSTできない様になっている。 その仕組みは、ServerがFormを表示するするHTMLを生成する時に、Tokenを埋め込み、そのTokenが帰って来なかったPOSTを弾くと言うものだ。 TokenはFormが表示されるごとに変更さる。(one time Token) https://html-coding.co.jp/knowhow/security/csrf/ http://mevius.5ch.net/test/read.cgi/tech/1578068134/717
718: 700 (ワッチョイ 1f2c-1yu9) [sage] 2020/08/20(木) 07:13:47.07 ID:nWR09WFB0 Rails にもある、CSRF のセキュリティー・トークンとかか? 2つのページが、同じセッションと判別できるような、仕組みを探さないといけない。 他人が作った、アプリを解析するのは大変 http://mevius.5ch.net/test/read.cgi/tech/1578068134/718
719: デフォルトの名無しさん (ワッチョイ 1f35-6L5+) [] 2020/08/20(木) 07:53:19.33 ID:5ApdpCMn0 >>718 違うんだなぁ。 RubyプログラムがいきなりPOSTしても成功しない。 一旦Form画面をScrapingすれば良いのだ。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/719
720: デフォルトの名無しさん (ワッチョイ 9f14-YpYZ) [sage] 2020/08/20(木) 09:46:21.48 ID:Myo84Br30 >>715 それも違う。RubyはUnicode対応で作られてる だから内部もUnicode Windows側からUTF16で渡された場合はUnicodeで受け取るし ANSIで渡された場合はUnicodeに変換して処理する 出力する場合はその反対 http://mevius.5ch.net/test/read.cgi/tech/1578068134/720
721: デフォルトの名無しさん (ワッチョイ 1f2c-1yu9) [sage] 2020/08/20(木) 10:42:37.67 ID:nWR09WFB0 Ruby の文字列は、混在できる ある文字列は、CP932 で、 別の文字列は、UTF-8 とか 何もしなければ、変換されない http://mevius.5ch.net/test/read.cgi/tech/1578068134/721
722: デフォルトの名無しさん (ワッチョイ ff7d-hMmK) [sage] 2020/08/20(木) 11:13:11.83 ID:FC2EZr4O0 >>719 kan = [ "\xE6\xBC\xA2\xE5\xAD\x97".force_encoding( Encoding::UTF_8 ), "\x8A\xBF\x8E\x9A".force_encoding( Encoding::CP932 ), "\xB4\xC1\xBB\xFA".force_encoding( Encoding::EUC_JP ), "\x1B\x24B4A;z\x1B(B".force_encoding( Encoding::ISO2022_JP ) ] puts kan kan.combination(2){ |a,b| p a == b } kan.size.times{|n| puts kan.inject(''){|r,s| r << s.encode(kan[n].encoding) } } puts kan.map{|s| s.encoding } http://mevius.5ch.net/test/read.cgi/tech/1578068134/722
723: デフォルトの名無しさん (ワッチョイ 7f01-08ML) [sage] 2020/08/20(木) 12:03:56.57 ID:tyNv301J0 >>715,720 君たちまずマニュアルを読もうか https://docs.ruby-lang.org/en/2.7.0/Encoding.html http://mevius.5ch.net/test/read.cgi/tech/1578068134/723
724: デフォルトの名無しさん (ワッチョイ 9f33-KILr) [sage] 2020/08/20(木) 13:07:43.70 ID:UjCnOWKd0 >>718 解析が大変かどうかはものによる。 セッションIDベースのWebアプリならともかく、ログインなしの掲示板なら大したことはないやろ。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/724
725: デフォルトの名無しさん (ワッチョイ ff8c-rgzE) [sage] 2020/08/20(木) 22:50:29.80 ID:Uplnh7Gz0 >>720 変換はせんだろ http://mevius.5ch.net/test/read.cgi/tech/1578068134/725
726: デフォルトの名無しさん (ワッチョイ 1f61-VqLe) [sage] 2020/08/21(金) 01:31:14.88 ID:SPVvFNrm0 Rubyをしばらく使ってきたが、やっぱり、ブロックの最後がendであることや、 0,1が共に真であること、複数行コメントが書きにくいこと、 構造体の書き方が new Person ではなく、Person.newであること、 Directory関連でワイルドカードを使うと、関連フォルダを全て変数に読み込んでから 動作し始めること、などが使いにくいので、node.jsに乗り換えようかなと思ってる。 Rubyが良い点は、それらの機能は使ったことは無いけど、 ・最初から用意されているメソッド群でmethodチェーンが書けること。 ・ブロック関数が書けること。 かな。 でも、使ったことがないということは、優先順位が低いと言うことではなかろうか。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/726
727: デフォルトの名無しさん (ワッチョイ 9f33-KILr) [sage] 2020/08/21(金) 10:50:02.63 ID:w5e9p4kz0 え。 そんな調子だと何を使ってもダメそう。w http://mevius.5ch.net/test/read.cgi/tech/1578068134/727
728: デフォルトの名無しさん (ワッチョイ 1f61-VqLe) [sge] 2020/08/21(金) 13:05:57.88 ID:SPVvFNrm0 >>727 個人的には、実世界では、能力はかなり高いと評価されているけれど。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/728
729: デフォルトの名無しさん (ワッチョイ 1f2c-1yu9) [sage] 2020/08/21(金) 14:15:07.59 ID:tDzk/wNZ0 0, 0.0, 空文字列、空配列、空辞書など、 各型に、偽がある言語は、バグる Ruby の偽は、nil, false だけ MISRA-C でも、( a ) みたいに、単独の数値型の変数で、真偽値を表すのは禁止されてる。 0 なら偽として使う方法 Ruby で、if ( b ) みたいに書けるのは、nil の時だけ偽だから。 0, 0.0, 空文字列、空配列、空辞書などでも真 または、b がbool 型の場合 http://mevius.5ch.net/test/read.cgi/tech/1578068134/729
730: デフォルトの名無しさん (エムゾネ FF9f-fHWV) [] 2020/08/21(金) 14:31:29.79 ID:2LaXNW9iF nil == false は false http://mevius.5ch.net/test/read.cgi/tech/1578068134/730
731: デフォルトの名無しさん (ワッチョイ 9f33-KILr) [sage] 2020/08/21(金) 14:33:13.81 ID:w5e9p4kz0 >>728 相対評価は、まわりのレベルがわからんので、なんとも。 元コメから判断すると、周辺まるごと低いのかな?と思わざるを得ない。w まあ、たまたま自分が使ってない特定機能をアレコレ言うのはアホに見えるのはたしか。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/731
732: デフォルトの名無しさん (ワッチョイ 9f33-KILr) [sage] 2020/08/21(金) 14:35:00.79 ID:w5e9p4kz0 >>729 型のないRubyでそんなことを言われても。w そんなの、たいした違いじゃないよ? http://mevius.5ch.net/test/read.cgi/tech/1578068134/732
733: デフォルトの名無しさん (ワッチョイ 1f61-VqLe) [sage] 2020/08/21(金) 14:49:57.72 ID:SPVvFNrm0 >>731 そんなことない。 非常に上層のごく一部の人しか入れないところだと言われている。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/733
734: デフォルトの名無しさん (エムゾネ FF9f-fHWV) [] 2020/08/21(金) 15:22:52.16 ID:2LaXNW9iF スキンのひとか http://mevius.5ch.net/test/read.cgi/tech/1578068134/734
735: デフォルトの名無しさん (JP 0H7f-08ol) [] 2020/08/21(金) 15:35:51.23 ID:dYZcDjdTH 学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net 数学 物理学 化学 生物学 天文学 地理地学 IT 電子 工学 言語学 国語 方言 など VM + ASM を書いた (C#, DX) * x86 ではない! simulationライブラリで純粋な関数式プログラミングをする UIライブラリ (C#, 2D) を作ったよ 連続と離散を統一した! 4Dエンジン matrixのライブラリ ある強力なFor関数 SQLライブラリ VM + ASM のダウンロード ttp://up.x0000.net/files/TSimulang.zip http://mevius.5ch.net/test/read.cgi/tech/1578068134/735
736: デフォルトの名無しさん (オッペケ Sr73-YieA) [sage] 2020/08/22(土) 00:05:39.01 ID:cH1OO8njr 「実世界では、能力はかなり高いと評価されている」っていう言い回しが最高に知性を感じないんですけど いや煽りとかじゃなくマジで http://mevius.5ch.net/test/read.cgi/tech/1578068134/736
737: デフォルトの名無しさん (ワッチョイ 9f14-YpYZ) [sage] 2020/08/22(土) 00:13:16.02 ID:rn2pygew0 異世界では無双している http://mevius.5ch.net/test/read.cgi/tech/1578068134/737
738: デフォルトの名無しさん (ワッチョイ 9f33-KILr) [sage] 2020/08/22(土) 02:33:00.24 ID:orN/hav20 >>736 非常に上層のごく一部の人しか入れないんだぞ! http://mevius.5ch.net/test/read.cgi/tech/1578068134/738
739: デフォルトの名無しさん (ワッチョイ ff8c-IEoI) [] 2020/08/22(土) 08:20:46.05 ID:lfF/bqLu0 非情に上層のごく一部の人しか入れないんだぞ! http://mevius.5ch.net/test/read.cgi/tech/1578068134/739
740: デフォルトの名無しさん (ワッチョイ 7f52-Qb6H) [sage] 2020/08/22(土) 08:46:37.28 ID:j5SL9Fsb0 >>736 あんまりちゃんと人と会話したりまともな本とかは読んだことがなくて、丁寧にかつちょっとカッコつけて話そうとしたらラノベとかで覚えた変な言い回ししか出てこなかった、と予想してみる http://mevius.5ch.net/test/read.cgi/tech/1578068134/740
741: デフォルトの名無しさん (ワッチョイ ffbb-ZIaG) [] 2020/08/22(土) 15:31:25.70 ID:rjSk5doP0 まあ、能力の高いっていうそこのお方は、Youtubeで流行ってる学歴ジャンケンでもして能力を示した方がいいんじゃん? 学歴だけが能力を示すものじゃないにしても、能力がどうの言い張るだけよりずっとマシだし、おおよその実力が周りの人も推定できるだろうからいいぜ! http://mevius.5ch.net/test/read.cgi/tech/1578068134/741
742: デフォルトの名無しさん (ワッチョイ ad61-CCZD) [sage] 2020/09/01(火) 22:10:17.03 ID:vLz2GEqc0 Rubyは、node.jsに比べて、ファイル出力のメソッド名が短いので楽。 fp=File.open("filename","w"); fp.print( "nanigshi=#{変数名}\n" ); みたいに書ける。node.jsだと、 fd = fs.openSync("filename", "w"); fs.writeSync(fd, `nanigshi=${変数名}\n` ); となり、キーワードが長い。逆引用符`が打ち込みにくいという 欠点も有る。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/742
743: デフォルトの名無しさん (オッペケ Sr51-eS8N) [sage] 2020/09/01(火) 22:45:30.43 ID:Bhx0z62Fr US配列なら楽だぞ http://mevius.5ch.net/test/read.cgi/tech/1578068134/743
744: デフォルトの名無しさん (ワッチョイ 5133-ZYZO) [sage] 2020/09/01(火) 22:58:40.10 ID:JyDU62SB0 >>742 「Sync」をあえて表現してるんやろ。 ポリシーの問題。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/744
745: デフォルトの名無しさん (ワッチョイ c9e6-8BP0) [sage] 2020/09/01(火) 23:33:04.32 ID:knLE24Nq0 ブロックと;省略で File.open("filename","w") { |file| puts "nanigshi=#{変数名}" ) みたいに書くのがRubyっぽくない? http://mevius.5ch.net/test/read.cgi/tech/1578068134/745
746: デフォルトの名無しさん (ワッチョイ bf8c-9HBf) [sage] 2020/09/02(水) 02:02:43.13 ID:0/6Ab1gT0 クローズしちゃうだろ http://mevius.5ch.net/test/read.cgi/tech/1578068134/746
747: デフォルトの名無しさん (ワッチョイ e761-vnqX) [sage] 2020/09/02(水) 15:16:44.13 ID:Wngy4TOD0 >>744 でも、コンピュータ黎明期の非常に古くから open, write は、同期的だったの だから、互換性を考えれば、逆さまにしたのは問題。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/747
748: デフォルトの名無しさん (ワッチョイ e761-vnqX) [sage] 2020/09/02(水) 15:21:09.21 ID:Wngy4TOD0 open, writeといえば、Unix/Linux/Windows/Macでも動作がほぼ同じな 非常に大事なもので、特にUnix/Linuxでは、「全てがファイル」という設計 思想であり、その根幹を成すのが、これらの関数で、あらゆる概念の基礎と なっているので、その動作を変更するのはあらゆる場所に悪影響を及ぼす。 Unix系では、OSの動作の90%以上が、open, writeに依存した設計に なっているといってもかごんでは無いくらい、基礎中の基礎。 その動作を変更することは、自然法則を変更するくらい驚天動地の試み。 重力が引力ではなく斥力になってしまうくらいで、太陽も惑星も存在し得ない 位の結果となる。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/748
749: デフォルトの名無しさん (ワッチョイ 4733-XuvI) [sage] 2020/09/02(水) 15:57:35.42 ID:iCfAZPhu0 >>747 Cとの互換性がー、とか非同期重視のアグレッシブなNode.jsに言うの?w http://mevius.5ch.net/test/read.cgi/tech/1578068134/749
750: デフォルトの名無しさん (ワッチョイ 7f14-XrX+) [sage] 2020/09/02(水) 16:53:35.95 ID:X9xcF9vI0 >>748 でもネットワークはファイルじゃないんですよ 全てがファイルという設計と言っても その程度のものなんです。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/750
751: デフォルトの名無しさん (ワッチョイ e761-vnqX) [sage] 2020/09/02(水) 17:55:27.42 ID:Wngy4TOD0 >>749 Cとの互換性というより、UnixやWindowsなどのあらゆるOSの基礎の部分との 互換性。 それくらい、open, writeは、OSの基礎に根ざしていて、勝手に働きを変えるべき じゃない。 働きを変えたいなら、変えた方の関数の名前を少し変えるべき。 それで十分なのに、名前と働きをさかさまにしてはいけなかった。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/751
752: デフォルトの名無しさん (ワッチョイ bf8c-9HBf) [sage] 2020/09/02(水) 18:19:28.61 ID:0/6Ab1gT0 rubyInstallerでruby 2.7入れたんだがirbのレスポンスがめちゃくちゃ遅くて かなりゆっくりキーボード入力しても入力を取りこぼすんだけど 速くする方法ありませんか? http://mevius.5ch.net/test/read.cgi/tech/1578068134/752
753: デフォルトの名無しさん (ワッチョイ 4733-XuvI) [sage] 2020/09/02(水) 21:47:08.53 ID:iCfAZPhu0 >>751 いちいちAsyncをつけろというのか? Node.jsのポリシーにあわんやろ。 郷に入っては郷に従え。 オレも知らんけど。w http://mevius.5ch.net/test/read.cgi/tech/1578068134/753
754: デフォルトの名無しさん (アウウィフ FF8b-th+2) [] 2020/09/03(木) 10:05:34.13 ID:DK3Ul6vKF Sync.js http://mevius.5ch.net/test/read.cgi/tech/1578068134/754
755: デフォルトの名無しさん (ワッチョイ 272c-3NJ+) [] 2020/09/04(金) 00:42:11.02 ID:Wl7qFIBb0 Node.js は非同期が基本。 Windows では、50ms 以上掛かるものは、非同期にするのが基本 >>752 irb とか、そんな面倒なものは使わない VSCode の拡張機能・Code Runner(Run Code)で、 ファイル全体、または、コード片を選択して実行できる http://mevius.5ch.net/test/read.cgi/tech/1578068134/755
756: デフォルトの名無しさん (ワッチョイ bf8c-9HBf) [sage] 2020/09/04(金) 03:38:08.87 ID:Akgzavid0 VSCodeでCode Runnerね。オーケーオーケー http://mevius.5ch.net/test/read.cgi/tech/1578068134/756
757: デフォルトの名無しさん (ワッチョイ 8714-XrX+) [sage] 2020/09/04(金) 05:36:12.08 ID:ovAJuzA/0 穴ほって埋めるやつか http://mevius.5ch.net/test/read.cgi/tech/1578068134/757
758: デフォルトの名無しさん (ワッチョイ 4733-XuvI) [sage] 2020/09/04(金) 10:18:21.30 ID:icCvRHhg0 平安京エイリアンか。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/758
759: デフォルトの名無しさん (ワッチョイ 272c-3NJ+) [] 2020/09/05(土) 22:17:01.41 ID:dAk5cbFF0 エンジニアチャンネル粟島、9/4 プログラミングでYouTube動画の編集作業を自動化する https://www.youtube.com/watch?v=2nDkNHeCKs4 プログラミングで、自動的に無音部分をカットして、動画をつなげる。 Python で作ってる 皆、何時間も掛かって編集しているから、 誰か、Ruby で作って、公開しろ 粟島に、スーパー・プログラマーの称号を独り占めさせるのは、癪にさわる http://mevius.5ch.net/test/read.cgi/tech/1578068134/759
760: デフォルトの名無しさん (アウウィフ FF8b-th+2) [] 2020/09/06(日) 14:32:01.97 ID:pKWvrGW4F ffmpeg 呼んでるだけだから ruby で同じことすればいいだけ そもそも youtube の web 上の作業を自動化するのかと思ったらそうでもないし 誤解を招く http://mevius.5ch.net/test/read.cgi/tech/1578068134/760
761: 759 (ワッチョイ 272c-3NJ+) [sage] 2020/09/07(月) 11:58:27.72 ID:IF51aHwX0 粟島に、敵対心むき出しの、凡才プログラマーKBOY に教えてやったら? エンジニアチャンネル粟島 【検証】現役プログラマーは30万円の案件を何時間で出来るのか? https://www.youtube.com/watch?v=rt_X6n9oWa4 YouTube API で、指定条件に当てはまる、動画を集める(filtering)のを、Ruby で、1時間で作った。 つまり、時給30万円! これも最終的に、30人が応募して、数千円になったらしいがw http://mevius.5ch.net/test/read.cgi/tech/1578068134/761
762: デフォルトの名無しさん (エムゾネ FF7f-j7FC) [] 2020/09/07(月) 12:03:06.35 ID:K0kNn/CsF 闇サイトのバイトか http://mevius.5ch.net/test/read.cgi/tech/1578068134/762
763: デフォルトの名無しさん (ワッチョイ 4b2c-8GNv) [] 2020/09/23(水) 01:34:43.74 ID:vUEpR4nB0 エンジニアチャンネル・小川 【悪用厳禁】Amazonの価格を監視するシステムを作ってみた https://www.youtube.com/watch?v=Gr6FJUOfMHc Amazon のAPI を使って、価格を監視して、LINE へ通知する http://mevius.5ch.net/test/read.cgi/tech/1578068134/763
764: デフォルトの名無しさん (ワッチョイ 6fda-AsQc) [sage] 2020/09/28(月) 08:01:27.35 ID:ZnjqOblj0 このサイトIRB代わりに使ってたんですがバージョン2.1.5とめっちゃ古いです ライブコーディング?機能のついた同種のサイトってないですか http://fatiherikli.github.io/fil/#eyJwYXRoIjoiSVJCLnJiIiwic291cmNlIjoicCBSVUJZX1ZFUlNJT04ifQ== http://mevius.5ch.net/test/read.cgi/tech/1578068134/764
765: デフォルトの名無しさん (ワッチョイ d32c-G8Sl) [] 2020/10/01(木) 08:39:12.41 ID:theiHz1p0 JSON ファイルの中身が、下のようなユニコード・コードポイントの表示が多くて、読めない {{\u30ab\u30ec\u30f3\u30c0\u30fc 10\u6708}} ファイルを丸ごと読めるように、変換する方法を教えて! http://mevius.5ch.net/test/read.cgi/tech/1578068134/765
766: デフォルトの名無しさん (ワッチョイ d32c-G8Sl) [sage] 2020/10/01(木) 08:49:16.51 ID:theiHz1p0 >>764 paiza.jp は比較的、新しいバージョンだったと思う puts RUBY_VERSION と入力してみ http://mevius.5ch.net/test/read.cgi/tech/1578068134/766
767: デフォルトの名無しさん (オッペケ Sr47-VYpw) [sage] 2020/10/01(木) 21:03:03.13 ID:BMjHKKQ5r >>764 そもそものopalのサイト使えば? https://opalrb.com/try/ >>765 標準出力に出力すれば? http://mevius.5ch.net/test/read.cgi/tech/1578068134/767
768: 765 (ワッチョイ d32c-G8Sl) [] 2020/10/01(木) 22:25:46.66 ID:theiHz1p0 JSON ファイルをcat しても、変換されませんでした! 普通の英数字と、\u6708 みたいな文字が混じっているファイルです http://mevius.5ch.net/test/read.cgi/tech/1578068134/768
769: デフォルトの名無しさん (ラクッペペ MM7f-0zgZ) [] 2020/10/02(金) 09:07:20.78 ID:ugOoTtJuM matlabでのfiltfilt()のように、ゼロ位相デジタルフィルター処理ができる関数はなんでしょうか http://mevius.5ch.net/test/read.cgi/tech/1578068134/769
770: デフォルトの名無しさん (ラクッペペ MM7f-0zgZ) [] 2020/10/02(金) 11:29:50.32 ID:36KHjBX6M すみませんでした http://mevius.5ch.net/test/read.cgi/tech/1578068134/770
771: 765 (ワッチョイ d32c-IT45) [] 2020/10/03(土) 07:39:23.69 ID:/wA+nWqo0 c@at input.json | pe@rl -@Xpne 's/\\u([0-9a-fA-F]{4})/c@hr(h@ex($1))/eg' (投稿できないので、@を入れました) で、日本語で表示されました! これを、Ruby では、どう書きますか? 正規表現で、\u6708 みたいな文字を、どう変換するの? http://mevius.5ch.net/test/read.cgi/tech/1578068134/771
772: デフォルトの名無しさん (ワッチョイ 3361-VW09) [sage] 2020/10/03(土) 09:17:06.76 ID:DiO6Np8S0 Rubyだと、正規表現にマッチした部分を引数にして関数に渡してくれる メソッドが有る筈だから、それを使えば出来るはず。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/772
773: デフォルトの名無しさん (ワッチョイ b37c-gW4a) [] 2020/10/03(土) 09:27:06.27 ID:F7oAx4CC0 -Ks -Ke -Ku があるから -Kw もあるはずだろう(驚き最小) http://mevius.5ch.net/test/read.cgi/tech/1578068134/773
774: デフォルトの名無しさん (ワッチョイ 3361-VW09) [sage] 2020/10/03(土) 09:32:00.87 ID:DiO6Np8S0 >>771 以下のようにすれば、\uXXXX の部分を unicode コードとして文字に直した後のテキストが 標準出力に出力されるのではないかと思われる。 なお、試して無いので実際に動くかどうかは分からない。 $1.to_i(16)は、$1 に入っている文字列を 16進数とみなして整数値に直しているつもり。 x.chr は、数値 x を文字コードとして対応する文字に直しているつもり。 gsub は、正規表現に合致した部分を後続のブロックの中の $1 に入れて、結果に 置換しているつもり。 [test.rb] strJson = JSONを読み込んだ文字列; print( strJson.gsub( /\\u([0-9a-fA-F]{4})/ ) { $1.to_i(16).chr } ); http://mevius.5ch.net/test/read.cgi/tech/1578068134/774
775: デフォルトの名無しさん (オッペケ Sr47-VYpw) [sage] 2020/10/03(土) 09:45:21.01 ID:MOu6VxbMr そういうことならJSON.load使えば? require 'json' JSON.load(fname) 愚直にやるならArray#packを使いましょう。 str.gsub(/\\u(\h{4})/){[$1].pack('H*').unpack('n*').pack('U*')} http://mevius.5ch.net/test/read.cgi/tech/1578068134/775
776: デフォルトの名無しさん (ワッチョイ 3361-VW09) [sage] 2020/10/03(土) 10:47:42.33 ID:DiO6Np8S0 >>774 間違いがあった。正しくは、 print( strJson.gsub( /\\u([0-9a-fA-F]{4})/ ) { $1.to_i(16).chr("UTF-8") } ); http://mevius.5ch.net/test/read.cgi/tech/1578068134/776
777: デフォルトの名無しさん (ワッチョイ 3361-VW09) [sage] 2020/10/03(土) 10:58:07.83 ID:DiO6Np8S0 "UTF-8"ではなくて、"UTF16-BE"か、"UTF16-LE"かも知れない。 試して上手く行くのを選んで欲しい。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/777
778: 765 (ワッチョイ d32c-IT45) [sage] 2020/10/03(土) 11:41:59.34 ID:/wA+nWqo0 >>775 >>776 でも、正常に動きました。ありがとう。 JSON.load で、自動的に読めるようになるのが便利 require 'json' json = File.read( "input.json" ) p JSON.load( json ) p json.gsub(/\\u(\h{4})/){[$1].pack('H*').unpack('n*').pack('U*')} print( json.gsub( /\\u([0-9a-fA-F]{4})/ ) { $1.to_i(16).chr("UTF-8") } ); http://mevius.5ch.net/test/read.cgi/tech/1578068134/778
779: デフォルトの名無しさん (ワッチョイ ff01-ZVjj) [sage] 2020/10/03(土) 12:38:03.63 ID:1IyBCfpu0 👨👩👧👦1コードポイント1文字とは限らないし¥uの後は4桁とは限らないよね👨 http://mevius.5ch.net/test/read.cgi/tech/1578068134/779
780: 765 (ワッチョイ d32c-IT45) [sage] 2020/10/03(土) 13:09:59.31 ID:/wA+nWqo0 それなら、単純な正規表現では、ダメ。 実際に存在する、コードポイントを調べないといけない ひょっとしたら、JSON.load は、それに対応しているかも http://mevius.5ch.net/test/read.cgi/tech/1578068134/780
781: デフォルトの名無しさん (ワッチョイ 3361-VW09) [sage] 2020/10/04(日) 15:56:43.31 ID:P8Zgc9xR0 >>780 全ての文字を utf16 に変換してから、utf8に再変換すればいい気がする。 第一段階の変換で、ついでに \uXXXX の部分を 単純に 16BIT 整数に直せばいいはず。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/781
782: 765 (ワッチョイ d32c-IT45) [] 2020/10/05(月) 01:16:19.79 ID:z7kgQPv30 \u は、4・8桁の2種類あるのか? http://mevius.5ch.net/test/read.cgi/tech/1578068134/782
783: 765 (ワッチョイ d32c-IT45) [sage] 2020/10/05(月) 08:08:05.24 ID:z7kgQPv30 👨👩👧👦 は、4つの文字が連結したような感じ \uD83D\uDC68\u200D \uD83D\uDC69\u200D \uD83D\uDC67\u200D \uD83D\uDC66 \U0001F468\U0000200D \U0001F469\U0000200D \U0001F467\U0000200D \U0001F466 \u{1F468}\u{200D} \u{1F469}\u{200D} \u{1F467}\u{200D} \u{1F466} http://mevius.5ch.net/test/read.cgi/tech/1578068134/783
784: デフォルトの名無しさん (ワッチョイ b37c-N+m6) [] 2020/10/05(月) 10:14:21.95 ID:H6rSrLtq0 もう ruby 関係無いだろ 良い加減消えろ 推奨スレ mevius.5ch.net/test/read.cgi/tech/1545032904/ mevius.5ch.net/test/read.cgi/tech/1593777227/ http://mevius.5ch.net/test/read.cgi/tech/1578068134/784
785: デフォルトの名無しさん (ワッチョイ 672c-JAxH) [] 2020/10/11(日) 00:59:43.22 ID:B+MSoWxK0 ( line, ary ), line_num この( ) をなくすと、エラーになる TEXT = <<'EOT' a b EOT line_numbers = TEXT.each_line.with_object( [ ] ).with_index( 1 ) do | ( line, ary ), line_num | # 各行・蓄積変数・行番号 ary.push( line_num ) puts "#{ line_num } : #{ line }" end p line_numbers 出力 1 : a 2 : b [1, 2] http://mevius.5ch.net/test/read.cgi/tech/1578068134/785
786: デフォルトの名無しさん (オッペケ Sr03-EsYS) [sage] 2020/10/11(日) 18:44:20.92 ID:vt3DXswMr >>785 仕様通りです http://mevius.5ch.net/test/read.cgi/tech/1578068134/786
787: デフォルトの名無しさん (ワッチョイ c308-8Ti4) [] 2020/10/13(火) 15:52:15.31 ID:Iy+8ZYjV0 初心者です Windows10でrubyのバージョンは2.4です gets.chompで日本語の文字列を入力しprintで出力したら文字化けするのですがどうしたら治りますか? http://mevius.5ch.net/test/read.cgi/tech/1578068134/787
788: デフォルトの名無しさん (ワッチョイ 672c-JAxH) [sage] 2020/10/13(火) 16:24:17.23 ID:y5Oy6HcC0 漏れは、WSL, Ubuntu 18.04 を使っているけど、 Ruby Installer のMSYS 2 かい? 日本語入力が難しい ファイルか、端末の文字コードの設定だろう。 BOM 無しUTF-8(UTF-8N) ユーザー環境変数に、RUBYOPT を作って、--encoding=UTF-8 を設定するとか。 ただし、irb が、コマンドプロンプトでは使えなくなるので、 PowerShell しか使えなくなる VSCode の拡張機能、Code Runner で、 選択したコード片、またはファイル全体を実行できる これで、irbは使わなくてもよいけど、デバッグで、pry が使えなくなるかも。 pry は、irbを使っているのかも? http://mevius.5ch.net/test/read.cgi/tech/1578068134/788
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 214 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.029s