タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

rubyに関するnekokakのブックマーク (14)

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Rubyを最大63%高速化した中学生は超多忙!

    金井仁弘(HN:CanI)氏                    撮影:平沼久奈 ハンドルネームCanIの由来は、「“Can I”→キャナイ→カナイ」。C#、Visual Studio、Microsoft .NETとマイクロソフト製品が大好きな「.NETer」と自称する 筑波大学付属駒場中学校は、東京都内にある中高一貫の国立校だ。入学試験の偏差値と東京大学への進学率の高さから“東の筑駒、西の灘”と称される進学校である。強いのは受験だけではない。国際情報オリンピックや国際数学オリンピックでは、同校の生徒が毎年のように金・銀メダルを制するなど才能あふれる理数系人材が多数在籍している。 金井氏はこの夏の「セキュリティ&プログラミングキャンプ2009」(2009年8月12~16日)に参加し頭角を現した中学生プログラマである。 今年に入って、Ruby 1.9のフィボナッチ数列による演算(多倍長加算

    Rubyを最大63%高速化した中学生は超多忙!
    nekokak
    nekokak 2009/10/27
  • rubyco(るびこ)の日記 - Rubyに++がない理由

    今日の衝撃経由、ruby-list:5323にて。 「(Rubyに++がないのは)++の動作が質的に「変数を操作する」ものであるため」とのこと。 なるほど。 変数はオブジェクトではない ++は += 1 すなわち「代入操作」である 代入操作はオブジェクトに対する操作ではなく、変数に対する操作である と理解しました。ということは「代入する」というメソッドはあり得ないのですね。 class Rubyco def =(x) end end Rubyco.new = 12345実行すると... a.rb:2: parse error, unexpected '=' def =(x) ^ a.rb:6: parse error, unexpected $, expecting kENDふむふむ。 ただし、配列の要素への代入はメソッドになりますね。これはいわばインスタンス変数への代入のようなものです

    rubyco(るびこ)の日記 - Rubyに++がない理由
    nekokak
    nekokak 2006/03/17
    おお!すごい納得させられる理由ですね。
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    nekokak
    nekokak 2006/03/14
  • ブロックパラメータは外部から継承 - rubyco(るびこ)の日記

    Rubyでは、ブロックパラメータと同じ名前の変数が前にあったらそれを使います。ブロックパラメータは新しいスコープを作るわけではないのでしょうか。これはちょっと驚きです。 a = [ 1, 2, 3 ] rubyco = 100 p rubyco # => 100 a.each { |rubyco| # ... } p rubyco # => 3もしも前になかったら、外に飛び出せるわけではないようです。 a = [ 1, 2, 3 ] a.each { |rubyco| p rubyco } p rubyco実行結果はこうなります。 1 2 3 undefined local variable or method `rubyco' for main:Object (NameError)

    ブロックパラメータは外部から継承 - rubyco(るびこ)の日記
    nekokak
    nekokak 2006/03/14
    確かにオドロキ
  • CGI::escapeHTML - rubyco(るびこ)の日記

    CGI::escapeHTMLメソッドを使うと、HTMLのエスケープが行われます。to_sをつけてから与えないとエラーになってしまいました。おそらくescapeHTMLメソッドに文字列以外を渡してしまうとまずいのでしょう。 疑問 CGI::escapeHTMLCGI.escapeHTMLはどこが違うのでしょう。どちらでも動くようですが、ニュアンスはどう異なるのでしょう。::はスコープ演算子、.はクラスメソッドということだと思うのですが…。Perlな人には::のほうが親しみやすいとは思いますけれど。→コロンとピリオド #!ruby require "cgi" cgi = CGI.new print <<"EOD" Content-type: text/html <html> <title>Hello</title> <body> <h1>Hello</h1> <form method="p

    CGI::escapeHTML - rubyco(るびこ)の日記
    nekokak
    nekokak 2006/03/14
  • each - rubyco(るびこ)の日記

    timesはIntegerのメソッドでしたが、eachはArray(など)のメソッドです。 range = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] range.each { |i| print "i = #{i}\n" }

    each - rubyco(るびこ)の日記
    nekokak
    nekokak 2006/03/14
    eachはメソッドになるから|i|がいけると
  • while - rubyco(るびこ)の日記

    Rubyでは、i++は使えません。i += 1と書きます。 i = 0 while i < 10 print "i = #{i}\n" i += 1 end

    while - rubyco(るびこ)の日記
    nekokak
    nekokak 2006/03/14
    これは知らないとはまりそう。
  • for - rubyco(るびこ)の日記

    範囲を指定してfor文をまわします。x..yは[x, y]で、x...yは[x, y)です。forはメソッドではありません。 for i in 0..9 print "i = #{i}\n" end for i in 0...10 print "i = #{i}\n" end

    for - rubyco(るびこ)の日記
    nekokak
    nekokak 2006/03/14
    forがメソッドでないから|i|がつかえないのですね。
  • intern - rubyco(るびこ)の日記

    Rubyでは、:をつけるとシンボルが得られます。同じシンボルは同じオブジェクトです。 print :Rubyco, "\n" # => Rubyco if :Rubyco == :Rubyco print "1 Same\n" # => 1 Same end if :Rubyco.object_id == :Rubyco.object_id print "2 Same\n" # => 2 Same end追記: 同じオブジェクトかどうかを比較するのに == は不適切でした。Object#equal?を使うべきでしょう。 print :Rubyco, "\n" # => Rubyco if :Rubyco.equal?(:Rubyco) print "1 Same\n" # => 1 Same end if :Rubyco.object_id == :Rubyco.object_id pri

    intern - rubyco(るびこ)の日記
    nekokak
    nekokak 2006/03/14
    if :Rubyco.object_id == :Rubyco.object_idはいいの?RubycoはオブジェクトだけどもRubyco.object_idはオブジェクトでないから?
  • インデント付きヒアドキュメント - rubyco(るびこ)の日記

    Rubyでは、<<の後に-をつけると、終端文字列にインデントをつけることができます。 print <<"EOD" Hello, hello, hello. Hello, hello, hello. Hello, hello, hello. EOD print <<-"EOD" Hello, hello, hello. Hello, hello, hello. Hello, hello, hello. EOD

    インデント付きヒアドキュメント - rubyco(るびこ)の日記
    nekokak
    nekokak 2006/03/14
    見た目をそろえられそうですが、分かりにくくなりそうですね。
  • ifも値を持つ - rubyco(るびこ)の日記

    Rubyでは、ifも値を持ちます。制御構造は文ではなく式ということでしょうか。 x = 10 s = if x > 0 "Positive" elsif x < 0 then "Negative" else "Zero" end print s # => Positive

    ifも値を持つ - rubyco(るびこ)の日記
    nekokak
    nekokak 2006/03/14
    へ~。これイイ。
  • Rubyコーディング規約

    はじめに 文書は、Rubyによりコーディングを行う際の規約について述べる。 実際のプロジェクトに適用する際には、このコーディング規約をカスタ マイズして用いることを推奨する。 ソースコードの整形 インデント プログラムを読みやすくするため、インデントを適宜行う。インデント 幅は2とする。また、インデントにはスペースのみを使用し、タブは使用 しない。(環境によりタブ幅が異なるため。) 例: if x > 0 if y > 0 puts "x > 0 && y > 0" end end 一行の桁数 一行の桁数は最大80桁までとする。 空行 複数のクラスの区切には空行を挿入する。 例: class Foo ... end class Bar ... end 誤った例: class Foo ... end class Bar ... end また、クラス内の各構成要素の区切にも空行を挿入する。

    nekokak
    nekokak 2006/03/14
  • 『rubyco(るびこ)の日記』

    String#stripは文字列前後の空白を削除します。 " Hello, world! ".strip #=> "Hello, world!" String#strip!は文字列前後の空白を削除します(破壊的メソッド)。 >> " Hello, world! ".strip => "Hello, world!" >> "\t\t\tHello, world!\n\n\n".strip => "Hello, world!" >> s = " Hello, world! " => " Hello, world! " >> s => " Hello, world! " >> s.strip => "Hello, world!" >> s => " Hello, world! " # String#strip は非破壊的 >> s.strip! => "Hello, world!" >> s =

    『rubyco(るびこ)の日記』
    nekokak
    nekokak 2006/03/14
    結城さんキタコレ
  • 1