Camel case and snake case: Difference between revisions

Content added Content deleted
(Added 11l)
Line 24: Line 24:





=={{header|11l}}==
{{trans|Python}}

<lang 11l>F snakeToCamelCase(nam, sep = ‘[_]+’, lcmiddle = 0B)
‘ convert snake '_' separator case to camel case ’
I nam == ‘’
R nam
V words = nam.trim(‘ ’).split(re:(sep))
I lcmiddle
words = words.map(w -> w.lowercase())
words = [words[0]] [+] words[1..].filter(w -> w.len > 0).map(w -> w[0].uppercase()‘’w[1..])
R words.join(‘’)

[(String, (String -> String))] funcs
funcs [+]= (‘snakeToCamelCase’, nam -> snakeToCamelCase(nam))
funcs [+]= (‘spaceToCamelCase’, nam -> snakeToCamelCase(nam, sep' ‘\s+’))
funcs [+]= (‘kebabToCamelCase’, nam -> snakeToCamelCase(nam, sep' ‘[\-]+’))
funcs [+]= (‘periodToCamelCase’, nam -> snakeToCamelCase(nam, sep' ‘[\.]+’))
funcs [+]= (‘allsepToCamelCase’, nam -> snakeToCamelCase(nam, sep' ‘[ \-_\.]+’))
funcs [+]= (‘lowermiddle_allsepToCamelCase’, nam -> snakeToCamelCase(nam, sep' ‘[ \-_\.]+’, lcmiddle' 1B))

F camel_to_snake_case(=nam, allsep = ‘[_]+’, sep = ‘_’, lcmiddle = 1B)
‘ convert camel case to snake case (separate with '_') ’
nam = nam.trim((‘ ’, "\t", "\r", "\n")).replace(re:‘([A-Z]+)’, sep‘$1’)
V sep1 = I sep == ‘.’ {‘\’sep} E sep
I lcmiddle
nam = (nam.split(sep1).filter(w -> w.len > 0).map(w -> w.lowercase())).join(sep)
E
nam = (nam.split(sep1).filter(w -> w.len > 0).map(w -> w[0].lowercase()‘’w[1..])).join(sep)
R nam.replace(re:(allsep), sep)

funcs [+]= (‘camel_to_snake_case’, nam -> camel_to_snake_case(nam))
funcs [+]= (‘preserve_midcaps_camel_to_snake_case’, nam -> camel_to_snake_case(nam, lcmiddle' 0B))
funcs [+]= (‘allsep_to_snake_case’, nam -> camel_to_snake_case(nam, allsep' ‘[ \-\._]+’))
funcs [+]= (‘allsep_to_kebab_case’, nam -> camel_to_snake_case(nam, allsep' ‘[ \-\._]+’, sep' ‘-’))
funcs [+]= (‘allsep_to_space_case’, nam -> camel_to_snake_case(nam, allsep' ‘[ \-\._]+’, sep' ‘ ’))
funcs [+]= (‘allsep_to_period_case’, nam -> camel_to_snake_case(nam, allsep' ‘[ \-\._]+’, sep' ‘.’))
funcs [+]= (‘allsep_to_slash_case’, nam -> camel_to_snake_case(nam, allsep' ‘[ \-\._]+’, sep' ‘/’))

L(f_name, f) funcs
print(‘Testing function ’f_name‘:’)
L(teststring) [
‘snakeCase’,
‘snake_case’,
‘snake-case’,
‘snake case’,
‘snake CASE’,
‘snake.case’,
‘variable_10_case’,
‘variable10Case’,
‘ergo rE tHis’,
‘hurry-up-joe!’,
‘c://my-docs/happy_Flag-Day/12.doc’,
‘ spaces ’]
print(teststring.rjust(36)‘ => ’f(teststring))
print()</lang>

{{out}}
<pre>
Testing function snakeToCamelCase:
snakeCase => snakeCase
snake_case => snakeCase
snake-case => snake-case
snake case => snake case
snake CASE => snake CASE
snake.case => snake.case
variable_10_case => variable10Case
variable10Case => variable10Case
ergo rE tHis => ergo rE tHis
hurry-up-joe! => hurry-up-joe!
c://my-docs/happy_Flag-Day/12.doc => c://my-docs/happyFlag-Day/12.doc
spaces => spaces

Testing function spaceToCamelCase:
snakeCase => snakeCase
snake_case => snake_case
snake-case => snake-case
snake case => snakeCase
snake CASE => snakeCASE
snake.case => snake.case
variable_10_case => variable_10_case
variable10Case => variable10Case
ergo rE tHis => ergoRETHis
hurry-up-joe! => hurry-up-joe!
c://my-docs/happy_Flag-Day/12.doc => c://my-docs/happy_Flag-Day/12.doc
spaces => spaces

Testing function kebabToCamelCase:
snakeCase => snakeCase
snake_case => snake_case
snake-case => snakeCase
snake case => snake case
snake CASE => snake CASE
snake.case => snake.case
variable_10_case => variable_10_case
variable10Case => variable10Case
ergo rE tHis => ergo rE tHis
hurry-up-joe! => hurryUpJoe!
c://my-docs/happy_Flag-Day/12.doc => c://myDocs/happy_FlagDay/12.doc
spaces => spaces

Testing function periodToCamelCase:
snakeCase => snakeCase
snake_case => snake_case
snake-case => snake-case
snake case => snake case
snake CASE => snake CASE
snake.case => snakeCase
variable_10_case => variable_10_case
variable10Case => variable10Case
ergo rE tHis => ergo rE tHis
hurry-up-joe! => hurry-up-joe!
c://my-docs/happy_Flag-Day/12.doc => c://my-docs/happy_Flag-Day/12Doc
spaces => spaces

Testing function allsepToCamelCase:
snakeCase => snakeCase
snake_case => snakeCase
snake-case => snakeCase
snake case => snakeCase
snake CASE => snakeCASE
snake.case => snakeCase
variable_10_case => variable10Case
variable10Case => variable10Case
ergo rE tHis => ergoRETHis
hurry-up-joe! => hurryUpJoe!
c://my-docs/happy_Flag-Day/12.doc => c://myDocs/happyFlagDay/12Doc
spaces => spaces

Testing function lowermiddle_allsepToCamelCase:
snakeCase => snakecase
snake_case => snakeCase
snake-case => snakeCase
snake case => snakeCase
snake CASE => snakeCase
snake.case => snakeCase
variable_10_case => variable10Case
variable10Case => variable10case
ergo rE tHis => ergoReThis
hurry-up-joe! => hurryUpJoe!
c://my-docs/happy_Flag-Day/12.doc => c://myDocs/happyFlagDay/12Doc
spaces => spaces

Testing function camel_to_snake_case:
snakeCase => snake_case
snake_case => snake_case
snake-case => snake-case
snake case => snake case
snake CASE => snake _case
snake.case => snake.case
variable_10_case => variable_10_case
variable10Case => variable10_case
ergo rE tHis => ergo r_e t_his
hurry-up-joe! => hurry-up-joe!
c://my-docs/happy_Flag-Day/12.doc => c://my-docs/happy_flag-_day/12.doc
spaces => spaces

Testing function preserve_midcaps_camel_to_snake_case:
snakeCase => snake_case
snake_case => snake_case
snake-case => snake-case
snake case => snake case
snake CASE => snake _cASE
snake.case => snake.case
variable_10_case => variable_10_case
variable10Case => variable10_case
ergo rE tHis => ergo r_e t_his
hurry-up-joe! => hurry-up-joe!
c://my-docs/happy_Flag-Day/12.doc => c://my-docs/happy_flag-_day/12.doc
spaces => spaces

Testing function allsep_to_snake_case:
snakeCase => snake_case
snake_case => snake_case
snake-case => snake_case
snake case => snake_case
snake CASE => snake_case
snake.case => snake_case
variable_10_case => variable_10_case
variable10Case => variable10_case
ergo rE tHis => ergo_r_e_t_his
hurry-up-joe! => hurry_up_joe!
c://my-docs/happy_Flag-Day/12.doc => c://my_docs/happy_flag_day/12_doc
spaces => spaces

Testing function allsep_to_kebab_case:
snakeCase => snake-case
snake_case => snake-case
snake-case => snake-case
snake case => snake-case
snake CASE => snake-case
snake.case => snake-case
variable_10_case => variable-10-case
variable10Case => variable10-case
ergo rE tHis => ergo-r-e-t-his
hurry-up-joe! => hurry-up-joe!
c://my-docs/happy_Flag-Day/12.doc => c://my-docs/happy-flag-day/12-doc
spaces => spaces

Testing function allsep_to_space_case:
snakeCase => snake case
snake_case => snake case
snake-case => snake case
snake case => snake case
snake CASE => snake case
snake.case => snake case
variable_10_case => variable 10 case
variable10Case => variable10 case
ergo rE tHis => ergo r e t his
hurry-up-joe! => hurry up joe!
c://my-docs/happy_Flag-Day/12.doc => c://my docs/happy flag day/12 doc
spaces => spaces

Testing function allsep_to_period_case:
snakeCase => snake.case
snake_case => snake.case
snake-case => snake.case
snake case => snake.case
snake CASE => snake.case
snake.case => snake.case
variable_10_case => variable.10.case
variable10Case => variable10.case
ergo rE tHis => ergo.r.e.t.his
hurry-up-joe! => hurry.up.joe!
c://my-docs/happy_Flag-Day/12.doc => c://my.docs/happy.flag.day/12.doc
spaces => spaces

Testing function allsep_to_slash_case:
snakeCase => snake/case
snake_case => snake/case
snake-case => snake/case
snake case => snake/case
snake CASE => snake//case
snake.case => snake/case
variable_10_case => variable/10/case
variable10Case => variable10/case
ergo rE tHis => ergo/r/e/t/his
hurry-up-joe! => hurry/up/joe!
c://my-docs/happy_Flag-Day/12.doc => c:/my/docs/happy//flag//day/12/doc
spaces => spaces

</pre>


=={{header|ALGOL 68}}==
=={{header|ALGOL 68}}==