今回はおなじみの"Hello, world!"プログラムを書いていきます。ただし、「思いつく限りの方法でできるだけたくさん」という条件が付きます。その上で、書き終わった後に一番自信がある作品を発表してもらいます。
"Hello, world!"をするためにはputs
のようなメソッドと"Hello, world!"の文字列が必要になるのですが、今回のテーマとしては主に"Hello, world!"の文字列をどのように生成することができるかを探求していくことになります。
公式ドキュメントを見るとわかるのですが、Rubyでは多くのメソッドが文字列を返します。一例としてはArray#join
があり、
%w(H e l l o , w o r l d !).join
とすることでだいたい正しい文字列を出力できます(が、半角スペースが含まれていないので正確には仕様を満たしていません、このあとさらに一工夫することになります)。
このほかにも正規表現やシンボル、果ては定数の名前そのものなどに至るまで、多くの要素を活用することで非常に多様な方法で文字列を生成できます。
引き続きDiscordを用いたオンライン開催(音声共有)となります。
今回の内容はRuby30のイベントで私(大倉)が話した「Rubyでハローワールドする30の方法」というLTが元ネタです。トークのために色々準備をして調査をした結果、実際に可能な方法は30どころではないことがわかりました。例えばRubyの文字列リテラルはものすごい数のパターンがあるのですが、トークでは取り上げていません。
何もない状態から色々な方法を思いつくのは結構大変かなと思うのですが、私の発表資料などを参考にすることで思いつけるようになるはずです。
今回はオンラインでの開催となります。
https://discord.gg/mXZVtE9Cu7 からDiscordに参加してください。
なお、音声チャットや画面共有を使う関係上、デスクトップアプリを使用することを推奨します。
今回は休憩がありません、休憩したい場合は各自でとってください。
時間 | 内容 |
---|---|
20:00 | 本編開始 |
20:10 | レギュレーションの解説 |
20:20 | いくつかのヒントの提示 |
20:30 | エクササイズ:"Hello, world!"をやってみよう! |
21:30 | 成果発表 |
22:00 | 残る人は少し雑談 |
任意の時間に参加・早退可能です。
自宅からの参加になると思いますので飲食などはもちろんご自由にどうぞ。
基本的には音声・ビデオオフでの参加が可能です。
ざっくり説明 Ruby力を高めたいRubyistたちが、コードを書いたりちょっとマニアックな内容を学んだりするコミュニティです。 Rubyを業務で使い始めて間もない方から中上級者まで、Rubyのことを手を動かしながら学びたい人はぜひいらしてください! チャットルーム 雑談の場として、あるいはオンライン開催の際のコミュニケーションの場として、Discordを活用しています。 以下のリ...
メンバーになる