タグ

Rubyに関するs_hiiragiのブックマーク (11)

  • Rubyワンライナー入門 - maeharinの日記

    先日仕事中、一瞬の隙も見逃さずに情報収集できるRubyワンライナーとスクリプトというネタエントリを書いたのだが、その際Rubyのワンライナーをもう少しまともに理解したいと思ったので入門してみた。手元のRubyは1.9.2 はじめに Rubyのワンライナーは、rubyコマンドに色々なオプション(-eや-nなど)をつけて実行する。各オプションの網羅的な解説が見たければ、コマンドラインでは$ man rubyで閲覧できるし、webではるりまサーチで参照できる。ただ、これらは網羅的すぎるので、以下よく使うオプションとその周辺情報についてまとめた。 -e 一番基的なオプション。スクリプトを実行する。(ちなみに他のオプションと組み合わせる時は必ず最後に記載する) 例: hogeと表示 $ ruby -e 'puts "hoge"' -n プログラム全体がwhile gets ... endというルー

    Rubyワンライナー入門 - maeharinの日記
  • Crystal にはタプルがあってつらくない - tmtms のメモ

    これは「Ruby脳にはCrystalつらい Advent Calendar 2015」の9日目の記事です。 qiita.com 昨日の記事に「Tuple を使うとらくちんです」というコメントをもらいました。 タプルを使って書きなおしてみます。 [ { 1, "hoge" }, { 2, "fuga" }, { 3, "piyo" }, ].each do |obj| num, str = obj num + 100 str.size end タプルは Ruby には無い型です。変更不可能な配列のような感じみたいです。 配列リテラルは [ ] で書きますが、代わりに { } で括るとタプルになります。 タプルは変更不可能なので、何番目の値がどのような型かもコンパイル時にわかるので、問題ないようです。 つらくない!

    Crystal にはタプルがあってつらくない - tmtms のメモ
  • RBS基礎文法最速マスター - pockestrap

    RBSはRuby 3に組み込まれた、Rubyの型情報を記述する言語です。 この記事ではRBSの文法を駆け足で紹介します。 細かい話は飛ばしますが、この記事を読めば大体のケースでRBSを読み書きできるようになると思います。 事前準備 インストール まずは文法の前に、rbs gemをインストールしましょう。 Ruby 3を使っている場合、rbs gemRuby 3に同梱されているため何もしなくても使えます。 Ruby 3未満を使っている場合でも、gem install rbsすれば使うことができます。 この記事では、rbs gem v1.0.0を対象に構文を紹介します。 $ gem install rbs Successfully installed rbs-1.0.0 1 gem installed $ rbs --version rbs 1.0.0 動作確認 書いたRBSは、rbsコマン

    RBS基礎文法最速マスター - pockestrap
  • Rubyで2項演算子が単項演算子に化けて悪さする話 - モンモンブログ

    DateTime.now + 1.hour と DateTime.now +1.hour は異なる値を返します。 何を言ってるのかわからねーと思うがこの実行結果を見てくれ。こいつをどう思う? [10] pry(main)> DateTime.now + 1.hour Fri, 29 Jan 2016 11:38:52 +0900 # こっちだと 11:38 [11] pry(main)> DateTime.now +1.hour Fri, 29 Jan 2016 10:38:52 +0900 # こうすると 10:38。あれれ? すごく・・・バグりそうです・・・/// なんでか DateTime.now + 1.hour が DateTime.now() + 1.hour と解釈されるのに対し、 DateTime.now +1.hour は DateTime.now(+1.hour) と解

    Rubyで2項演算子が単項演算子に化けて悪さする話 - モンモンブログ
  • Rubyの日本語リファレンスマニュアルに、英語のページが現れるようになります - pockestrap

    こんにちは。ruremaメンバーの id:Pocke です。 Rubyの日語リファレンスマニュアルで、未翻訳の英語のドキュメントが公開されるようになりました。 この記事では、それについて簡単に解説します。 何が変わるのか 今までは、未訳のメソッドは日語リファレンスマニュアルには一切書かれていませんでした。 それが今回の変更によって、英語のリファレンスマニュアルと同じ文章が、そのまま日語リファレンスマニュアルにも書かれるようになります。 たとえば Ruby 2.7で追加されたModule#const_source_locationメソッドのドキュメントは未訳であるため、今までは日語リファレンスマニュアルにはドキュメントが存在しませんでした。 ところが今回からは次のようなドキュメントが日語リファレンスマニュアルにも存在するようになります。 https://docs.ruby-lang

    Rubyの日本語リファレンスマニュアルに、英語のページが現れるようになります - pockestrap
  • 【必読】開発者が「RubyMine」を使ってはいけない4つの理由【JetBrains】 - pavlog

    「統合開発環境(とうごうかいはつかんきょう)」… これは、たった一つのアプリケーションで開発作業の何もかも全てをただ一つの操作環境からできるようにした開発における叡智の集合です(個人の感想です)。 今の時代は金とマシンパワーを積んでIDE*1さえ買えば、どんな開発作業も楽になる恐ろしい時代です(個人の感想です)。 しかし数あるIDEの中でも使ってはいけないIDEがあります。JetBrains社謹製のIDEであるRubyMineです。様々なIDEを使ってきた僕が、今改めて使わない方がイイと断言するのには、理由が4つあります。 ・目次 IDEとは? 使ってはいけない理由 理由1: 「Search Everywhere」 理由2: 「Quick Documentation / Quick Definition」 Quick Documentation Quick Definition 理由3:

    【必読】開発者が「RubyMine」を使ってはいけない4つの理由【JetBrains】 - pavlog
  • あなたが理解できない,たった一行のRubyのコード (動的言語に対する静的解析の限界) - 主に言語とシステム開発に関して

    あなたは,下記のコードを理解できない。 p f /g+h/i これはRubyのコードである。「p」は,コンソールに出力する関数である。 問: だいたい,何をやっているコードですか? ※例えば,四則演算など。 構文をおおまかに説明して下さい。 どれが変数で,どれが関数で,どれが演算子か? ↓回答 回答: 一意に決定できない。 下記に, このコードの複数の解釈方法と, この件が引き起こす問題 について述べる。 ※なお,この問題が起きるのは動的言語に限らず,静的言語でも同様に発生しうることを前もって述べておく。 (1)分数の計算とみなすパターン 先行するコードを下記のように書いた場合: test1.rb # 変数に数値を代入 f = 2 g = 1 h = 2 i = 1 # 演算結果をpで出力する p f /g+h/i 実行結果: >ruby test1.rb 4 「分数の計算」とみなされる。

    あなたが理解できない,たった一行のRubyのコード (動的言語に対する静的解析の限界) - 主に言語とシステム開発に関して
  • 【Tips】Rubyソースコード内の全角スペースについて - Qiita

    概要 Rubyは変数名・メソッド名・クラス名などに全角文字を利用することができる。それは全角スペース(全角空白)も例外ではない。そのため、コード内の全角スペースは変数名やメソッド名とみなされた上でのエラーメッセージが表示されるので注意する必要がある。 確認 全角スペースを変数名やメソッド名、クラス名の一部として利用してみる。半角スペースと間違えて全角スペースを挿入してしまった際の挙動に関してはこちらの記事を参照のこと。 環境 ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux] WSL (Windows Subsystem for Linux) 上での実行。 コードと実行結果 変数

    【Tips】Rubyソースコード内の全角スペースについて - Qiita
  • オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (Ruby 1.9.3)

    Ruby オフィシャルサイト http://www.ruby-lang.org/ja/ version 1.9 対応リファレンス 原著:まつもとゆきひろ 最新版URL: http://www.ruby-lang.org/ja/documentation/ 使用上の注意 Ruby 1.9 の組込みクラスのリファレンスはほぼ揃っています。 Ruby 1.9 の標準添付ライブラリのリファレンスは一部未完成です。 それ以外のドキュメントについては、まだまだ書き直しが必要です。 目次 はじめに コマンド Rubyの起動 環境変数 Ruby 言語仕様 Ruby でのオブジェクト: オブジェクト クラス プロセスの実行: Ruby プログラムの実行 終了処理 スレッド セキュリティモデル Ruby の文法: 字句構造 プログラム・文・式 変数と定数 リテラル 演算子式 制御構造 メソッド呼び出し(sup

  • RSpecとは コンピュータの人気・最新記事を集めました - はてな

    Ruby で実装された、 BDD フレームワーク。 通常の Ruby アプリケーション開発時の BDD フレームワークとして使用できるほか、Ruby on Rails での開発時に使用することもできる(その場合は、プラグインをインストールする必要あり)。 「りすぺっく」と読まれることもある。 このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、お問い合わせフォームよりご連絡ください。

    RSpecとは コンピュータの人気・最新記事を集めました - はてな
  • 正規表現で制御文字をフィルタする

    cles::blog 平常心是道 blogs: cles::blog NP_cles() « Solr1.4-devとcmecab-java :: php 5.3 リリース » 2009/06/30 正規表現で制御文字をフィルタする  ruby  regex 35 3へぇ Rubyでテキストファイルを大量に処理するプログラムを書いているのですが、元データの関係で文字列中に制御文字が入ってしまっていて、それが後続の処理に影響を及ぼしてしまうことがわかったので、正規表現を使って下記のような処理を書いてみました。 00.chr+"hoge" # => "\000hoge" (00.chr+"hoge").gsub(/[[:cntrl:]]/,"") # => "hoge" ところが、このままだと制御文字が無条件に取り除かれてしまうので改行もなくなってしまいます。 "hoge\nhoge".gsu

    正規表現で制御文字をフィルタする
  • 1