12/08/17 13:16:16.85 .net
>>5
>その難というのを、もっと明確に言ってほしい。
現行のLLにはこれらデータを「簡潔に表現」できる専用の記法/構文がある
以下はRubyの例(これらはPerl(awk?)から影響を受けた(=パクッた)と思われる)
【文字列】 文字列リテラルには「式展開」や「ヒアドキュメント」がある
たとえば "my name is #{$ruby}" は、format "my name is %s", $ruby よりも
簡潔に書ける
【パターン】 「正規表現リテラル」がある。たとえば /^Ruby is OOPL/ は、
Regexp.new "^Ruby is OOPL" よりも簡潔だ
【ハッシュ】 「ハッシュ式」とハッシュ操作のための構文がある
たとえば {a: 1, b: 2} は Hash.new [:a, 1, :b, 2] よりも簡潔だし、
obj[:a] は obj.fetch :a よりも簡潔に書ける
これらの記法/構文はRuby全体からすればほんの一部であり、
LLの主用途(主戦場)である日常的なテキスト処理に特化した様々な工夫が施されている
これらの多くは関数型言語ではライブラリ関数として提供され、
同等な処理は書けてもLLの専用記法/構文と比較すれば冗長である(=めんどくさい)と考える