<commit_before>fun main(args: Array<String>) {
    val s: String? = "hello"
    s?.let { p(it) }

    val s2: String? = null
    s2?.let { p(it) }
}

fun p(s: String) = println(s)<commit_msg>関数のチェーンを考えてみた<commit_after>fun main(args: Array<String>) {
    val s: String? = "hello"
    s?.let { p(it) }

    val s2: String? = null
    s2?.let { p(it) }

    p2(twice(len("hello")))

    "hello".let { len(it).let { twice(it).let { p2(it) } } }

    "hello" x { len(it) } x { twice(it) } x { p2(it) }
}

fun p(s: String) = println(s)

fun len(s: String): Int = s.length

fun twice(i: Int): Int = i * 2

fun p2(i: Int) = println(i)

infix fun <T, U> T.x(f: (T) -> U): U = f(this)
{'fraction_non_alphanumeric': 0.21364985163204747, 'fraction_numerical': 0.013353115727002967, 'mean_word_length': 2.8793103448275863, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4689003', 'n_tokens_mistral': 316, 'n_tokens_neox': 308, 'n_words': 73}