以下の内容はhttps://let.blog.jp/tag/Rubyより取得しました。


エンドレスメソッド?
Ruby にエンドレスメソッドが追加されたみたいな話を見かけました
エンドレスメソッド……?
なにそれ無限ループ?怖い

気になる名前なので調べてみたら 単に end を書かなくていいメソッドのようです
Ruby は関数定義の終わりに } の代わりの end がありますからね
こんな感じに書くみたい

def square(x) = x * x

アロー関数とかラムダ式的なやつね
アロー関数といえば アロー関数の見た目で 代入できる機能も増えるんだとか

fib(10) => x

代入先を右側に書けるのは個人的には嬉しい
けど 10 が a とか変数だったらアロー関数にしか見えない……

Ruby はそんなに興味なかったけど JavaScript でいつになっても入る気がしない do 式みたいなことを標準でできるし 3.0 出たら少しは触れてみようかなぁ

do 式でやりたいことの例
def foo(a)
value =
if a == 1
10
elsif a == 2
20
else
return 30
nil
end
value * 10
end

p (foo 1) # 100
p (foo 2) # 200
p (foo 3) # 30
mac にデフォルトのスクリプト言語なくなるんだ
mac でスクリプト言語がデフォルトで入らなくなるというのを見かけて気になったので調べてみました

https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_release_notes
「Scripting Language Runtimes」 のところ

Python, Ruby, and Perl がデフォルトで含まれなくなるようです
Python や Perl ならともかく Ruby まで入ってたんですね
Ruby あるのに Node.js はないんだ……

デフォルトで使えるスクリプト言語がなくなるって結構つらそうですが 最近は多いのでしょうか
CentOS8 もデフォルトだとなにもないです
正確には Python3 がシステム用に入ってますが ユーザが使うべきじゃないという扱いでパスも通されずわかりづらい場所にあります

読んでてもう一つ気になったのが 「あなたのソフトウェアがスクリプト言語に依存するなら ランタイムをアプリと一緒にバンドルすることをおすすめします」って部分
各ソフトウェアが Python や Ruby のランタイムを独自に持ってたらすごく重くなりそうです
Electron みたいなことになりそう
ただ 言語仕様の追加変更が速くなると想定バージョンも色々あって独自に持ってるのがなんだかんだユーザには一番便利なのかもしれません
. で終わる言語
X = 1.
Y = 2.
Z = 3.

このコードはどの言語で書かれているでしょう?



変数が大文字だし 「.」 で終わってるし Erlang? と思う人が多いかもしれません

ですが実は 文末に記号 (主にセミコロン) が不要で変数の事前宣言が不要な言語ならたいてい動きます
JavaScript とか Python とか Ruby とか

数字の後なので「.」は小数点なんです
0 ~ 1 の範囲の数値を書くときに 「.15」 のように書くみたいなものです

JavaScript だと後ろに「.」を書いても完全に無意味です
しかし Python だと「.」のあるなしで int/float が変わってきます
0 まで書いてもいいですが 「.15」 と書くように 「1.」 も実用範囲でしょう
Ruby はちょっと特殊で 「1.」 は 1 と同じ int で 「1.0」 にすると float です
JavaScript や Python では↓も有効ですが Ruby だとエラーです
a = (1.)



以上の内容はhttps://let.blog.jp/tag/Rubyより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14